设置透明主题引起动画失效以及打开其他应用闪现桌面图标的问题

近日在适配魅族手机的时候,发现设置Activity的主题的

<item name="android:windowIsTranslucent">true</item>透明状态,或者
<item name="android:windowShowWallpaper">true</item>显示壁纸之后,在该activity界面打开其他应用的界面的时候,会闪现桌面图标,从其他应用界面回来的时候也会闪现桌面图标,而且activity设置的转场动画都失效了。询问一下系统桌面的同事,原来是桌面自己有做动画效果,当设置主题为透明的时候应该是触发了桌面了一些转场动画,具体是怎么触发的尚不清楚。

像这样从我的启动设置界面,会出现桌面的转场动画,闪现桌面,正常情况下应该不会出现桌面图标的。至少在华为的手机上不会出现这种现象。

那怎么办呢,本来我的应用的主界面就是需要跟桌面背景比较贴近,也就是说在桌面背景色的基础上做一下高斯模糊,有人应该了解,做桌面全局搜索的时候,背景是要和桌面目前的壁纸颜色比较贴合的。之前想要activity的背景透明就是想在启动的时候不要显示黑屏或者白屏。我们知道在默认的情况下,系统会当前的主题来为activity真正启动前做一个预览色,接下来才是真正的activity的视图设置的背景颜色或者图片。

我们知道在activity的主题中还有这么一项:

<item name="android:windowBackground">@color/transparent</item>设置背景透明,以前觉得设置这一项就能避免启动时候白屏或者黑屏,结果却还是会存在白屏黑屏现象。不知道是不是各家手机系统有各自的不同处理。

后来发现还有这么一个属性

<item name="android:windowDisablePreview">true</item> ,添加了之后就没有黑屏或者白屏现象了。

也就是这两个组合起来,既能使启动时候背景透明,然后又能去掉黑屏白屏现象,而且这种做法在魅族手机上还不会影响转场动画。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值