Android自定义Dialog, 设置全屏属性。

1: 完美效果: Dialog出现和消失的时候都不会有闪烁


device-2016-12-27-144102.png

2: 不完美效果


device-2016-12-27-144156.png

市面上的机器, 应该都没处理好这个问题。
1: 三星 S7
没做特殊处理
2: MIUI8
没做特殊处理
3: 华为 Mate8
显示对话框的时候完美, 对话框消失的时候会闪烁
4: Flyme5
做了一些处理, 但不完美

PS:
闪烁=StatusBar和NavigationeBar先出现然后再隐藏

问题分析:
1: 根本原因是Dialog的 Add Window 的时候没有设置SystemUIFlags属性, 而是在relayout的时候才初始化这个flags。
2: 由于Add Window会导致change foucs, 这就导致SystemUI的更新, 但是SystemUIFlags还没更新, 所以会出现闪烁效果。

解决方法:
WMS 初始化 Window 的时候同时初始化SystemUIFlags。

更多相关文章

  1. 【Android】Material Design 之二 BottomNavigationView使用
  2. Android(安卓)中使用极光推送消息详细介绍(一)
  3. reactnative 在Android上添加阴影效果
  4. android中selector改变界面状态用法小结
  5. Android(安卓)RecycleView实现不同样式Item样式效果完美解决
  6. [转]创建不可见的Activity
  7. 我的Android进阶之旅------>android Toast大全(五种情形)建立属于
  8. Android(安卓)之 史上最细 Material Design
  9. TextSurface实现文字呈现效果

随机推荐

  1. 实现mysql级联复制的方法示例
  2. 详解如何利用amoeba(变形虫)实现mysql数
  3. MacOS 下安装 MySQL8.0 登陆 MySQL的方法
  4. mysql清空表数据的两种方式和区别解析
  5. MySql是否需要commit详解
  6. MySql删除表中一行的实操方法
  7. linux安装mysql 8.0.x的完整步骤
  8. mysql 5.7.21 解压版安装配置图文教程
  9. 解决MySQL8.0 输入无误仍然提示Access de
  10. mysql 5.7.18 绿色版下载安装教程