android:windowIsTranslucent 的好处 与 引发的部分问题

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/kongbaidepao/article/details/52106866

目前6.0 70均遇到问题

6.0 问题描述:

点击进入应用, 进入最近程序列表界面(长按home 或者菜单键),从最近程序列表界面进入, 点击back , 会先闪一下 最近列表界面,再退出。

正常进入, 退出时,正常退出。

经过排除法,不是activity启动的问题, 不是因为从最近任务列表跳转的问题,最后找到了style的问题,其中的

 <item  name="android:windowIsTranslucent">true</item>  

属性的问题,去除后(正常), 从最近任务列表点击进入。 不会再闪一下 最近任务列表 再结束退出。但是删除了这个属性后,发生了另外一个事情

由于之前代码经过很多的 迭代,

1.进入主页面,会有 突变,
2.状态栏闪下白色 然后才变成设置的颜色的问题。

1的解决方案

由于首次进入界面不是用的action 而是现实一个自定义的标题, 加载fragment的时候 又去设置了actionbar, 最后是修改

actionbar的字体大小(用的折中的方案,毕竟快出版本了)
但是个人认为还是应该直接在 activity中设置 action, fragment哪怕要修改字体也是可以的,

  <style name="TextAppearance.note.Title" parent="@android:style/TextAppearance.Material.Widget.ActionBar.Title">
        <item name="android:textColor">#ffffffff</item>
        <item name="android:textSize">16sp</item>
    </style>

    <style name="NotesBarStyle" parent="@*android:Widget.XXX.ActionBar">
        <item name="android:titleTextStyle">@style/TextAppearance.note.Title</item>
    </style>

2.白色山的那下是 因为framework theme的问题然后,才会变成设置的statusbar的颜色,现在就是除非改下theme的颜色,
或者设置一下背景图

  添加这个属性<item name="android:windowBackground">@drawable/splash_bg</item>
    或者用这个透明属性(这个方案已经不能用了因为上面bug的问题)  
    <item name="android:windowIsTranslucent">true</item>
    <style name="Theme.Text_Note_TCT" parent="@android:style/Theme.XXXXX">
        <item name="android:windowAnimationStyle">@null</item>
        <item name="android:windowLightStatusBar">false</item>
        <item name="android:statusBarColor">@color/title_Bg</item>
        <item name="android:colorPrimary">@color/title_Bg</item>
        <item name="android:colorPrimaryDark">@color/title_Bg</item>
        <item name="android:actionBarStyle">@style/NotesBarStyle</item>
    </style>

7.0 闹钟,弹出提醒界面时之前, 一直频繁操作 launch 或者 在其他app中操作
页面不显示,

解决办法: 去除此属性 或者 设置 false

阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页