博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android开发 - 设置DialogFragment全屏显示
阅读量:7075 次
发布时间:2019-06-28

本文共 735 字,大约阅读时间需要 2 分钟。

默认的DialogFragment并不是全屏,但有些需求需要我们将对话框设置为全屏(内容全屏),Android并没有提供直接的API,通过其它不同的方法设置全屏在不同的机型上总有一些诡异的问题,经过测试,下面的方法可以实现各个机型的全屏。

测试 SDK Version = 28

覆写Fragment的onStart()方法:

@Overridepublic void onStart() {    super.onStart();        Dialog dialog = getDialog();        if (dialog != null) {            Window window = dialog.getWindow();            if (window != null) {                int width = ViewGroup.LayoutParams.MATCH_PARENT;                int height = ViewGroup.LayoutParams.MATCH_PARENT;                window.setLayout(width, height);            }        }    }}

上面的方法可以成功设置Dialog为全屏,但是如果在全屏的Dialog顶部有View的情况下,在某些机型View会被状态栏遮住(比如三星S9),这时需要一些特殊的设置来处理,可以参考我的文章:

,如有更多疑问,请参考我的其它Android相关博客:

转载于:https://blog.51cto.com/11761032/2307554

你可能感兴趣的文章
md5sum 生成 经md5加密后的字符串
查看>>
PowerShell应用之-批量执行SQL脚本
查看>>
职场加薪步步高升的五大法则
查看>>
增删主键及修改表名
查看>>
Gson库使用-排序字段(ExclusionStrategy)或者修改(FieldNamingStrategy)字段
查看>>
[医疗]DICOM VR数据类型表
查看>>
把原来可空的列变成主键
查看>>
shell 中的不相等怎么表达?大于、小于又怎么表达?
查看>>
WIF基本原理(4)联合身份验证实例
查看>>
HDFS写入和读取流程
查看>>
ScrollView 简单出错
查看>>
[置顶] VC++界面编程之--自定义CEdit(编辑框)皮肤
查看>>
动画渐变兼容各个浏览器
查看>>
java中有关线程的题目
查看>>
Oracle Minus 取差集
查看>>
mvc和三层架构到底有什么区别
查看>>
不错代码
查看>>
Github安卓开源项目编译运行
查看>>
Java+Windows+ffmpeg实现视频转换
查看>>
JAVA实现发送电子邮件
查看>>