Android DialogFragment宽度占满高度自适应,

2018-08-30  本文已影响27人  老西子

有一个让DialogFragment占满屏幕的需求,在网上查到多种解决办法不是无效就是对显示效果有影响,最后还是靠自己查看官方文档和查看源码后找到的解决办法,在这记录分享一下。

6.0以上版本修改前.png

Android中 DialogFragment宽度占满高度自适应,在Fragment的onResume()方法中设置window的宽高即可,第一个参数是宽度-1代表默认占满;第二个参数高度-2默认自适应高度(这两个参数也可以直接设置固定宽高)。

@Override
public void onResume() {
    super.onResume();
    getDialog().getWindow().setLayout(-1,-2 );
}
6.0以上版本修改后.png

在Android4.4和5.1版本遇到多出一空白Title的问题。

4.4_修改前.png 5.1_修改前.png
在Fragment的onCreateView()方法中设置getDialog().getWindow().requestFeature(Window.FEATURE_NO_TITLE);取消Title。
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.fragment_question_see_dialog, container, false);
    getDialog().getWindow().requestFeature(Window.FEATURE_NO_TITLE); /** 去4.4,5.1空Title */
    return view;
}
4.4_修改后.png 5.1修改后.png

结语:修改后对原来风格没有影响,完美。

学疏才浅,有不当的地方敬请指正。
上一篇下一篇

猜你喜欢

热点阅读