Android设置状态栏颜色Android4.4

Android设置状态栏的颜色的方法在学习ToolBar的时候已经学会了:
见以下链接
结合Toolbar设置状态栏颜色

下面是自己在项目中设置状态栏颜色的时候出现的问题

  • 1.android4.4设置colorPrimaryDark无效
    解决方法:
    状态栏颜色是在Android5.0加入的,不过从API19之后可以设置状态栏透明色
    在style中添加如下item
    <item name="android:windowTranslucentStatus">true</item>

注意 :android:fitSystemWindow="true"如果在父布局中填写了在ToolBar里面填写,也是无效的

  • 2.添加上述属性之后发现下面的界面”侵占”了状态栏
    问题
    API19添加上述属性之后,其实是设置了状态栏透明色并且将界面设置为全屏的,故出现了”侵占”状态栏的现象
    解决方法
    在ToolBar里面添加属性:
    android:fitSystemWindow="true"
    并且要将其他地方的这个属性去掉,不然不会达到预想的效果
  • 3.添加上述属性之后,可能会出现的BUG
    问题:
    如果你的toolbar没有在Activity里面设置
    setSupportActionBar(Toolbar)
    那么它只是一个空间而已,不会更好的适配系统窗口,只是简单的把里面的内容弄的不会跟状态栏发生冲突了而已
    解决方法
    Activity继承AppCompatActivity
    使用setSupportActionBar(Toolbar)方法
  • 4.一个不是问题的问题,
    问题
    我在Toolbar的标签里面加了一个ImageButton设置点击事件等,希望这个ImageView在Toolbar的最左边(正常情况下应该是在Menu里面设置MenuItem,设置MenuItem的itemID和在Activity里面onCreateOptionMenu(),和在onOptionMenuItemSelect里面设置事件)
    然后Toolbar.setTitle(XXX)之后发现这个图片的位置不在最左边 最左边是Title
    解决方法
    1.不用Title,在Activity里面添加代码getSupportActionBar().setDisplayShowTitleEnabled(false)
    这样就不会显示Title了
    2.或者不在Toolbar的xml里面添加,而是把它添加到Menu里面,
    3.setNavigationIcon:即设定up Button的图标
    原文作者:跑步与开车
    原文地址: https://www.jianshu.com/p/cd513c24459e
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞