Android DialogFragment宽度占满高度自适应,
2018-08-30 本文已影响27人
老西子
有一个让DialogFragment占满屏幕的需求,在网上查到多种解决办法不是无效就是对显示效果有影响,最后还是靠自己查看官方文档和查看源码后找到的解决办法,在这记录分享一下。
6.0以上版本修改前.pngAndroid中 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
结语:修改后对原来风格没有影响,完美。