当Activity设置为透明主题时,按Home键,Dialog闪烁的解决方法

1、前提条件:
(1)设置 Activity的主题为透明主题
(2)弹出对话框

2、问题:按 Home键时,Dialog会闪烁,不是自然的退出动画

3、原因分析:
(1) Activity设置成了透明主题,没有了正常的退出动画
(2)Dialog依赖于Activity所在的父窗口,Activity透明不再做退出动画,而Dialog需要做退出动画,造成了闪烁。

4、解决方案
(1)业务需求无法取消 Activity的透明主题( android:windowIsTranslucent ),导致该问题无法直接解决
(2)只能进行规避,比如提升Dialog的窗口层级,设置为系统级别的悬浮窗。
mDialog.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);
5、透明主题


你可能感兴趣的:(Android)