zoukankan      html  css  js  c++  java
  • (原创)android4.4沉浸式标题栏

    趁着清明节的闲工夫,把我的百年不升级一次系统的红米note手机升级到了miuiv6的系统,早就听说android4.4的系统有沉浸式标题栏,一直没有体验过。这次终于有机会了。看了几个手机上常用的应用都采用了这个效果,例如qq空间,wps、lbe等。自己也突然手痒痒了一下,想把当前正在做的项目也做成这种效果。

    心动不如行动,废话不多说,直接开干就可以了:

    我目前做的司信项目所有的activity都继承自一个titileactivity,这个titleactivity封装了一个导航栏,ui给他设计了一个颜色。所以所有的系统的标题栏就跟这个颜色相同就可以了。

    我是这样做的:

    设置style文件

     1  <style name="ThemeLeftAndRightAnimation" parent="android:Theme.Black">
     2         <item name="android:windowAnimationStyle">@style/left_right_Animation</item>
     3         <item name="android:windowNoTitle">true</item>
     4         <item name="android:actionBarStyle">@style/MyActionBarStyle</item>
     5         <item name="android:windowBackground">@color/navbar</item>
     6         <item name="android:windowTranslucentStatus">true</item>
     7     </style>
     8 
     9     <style name="MyActionBarStyle" parent="@android:style/Widget.Holo.Light.ActionBar.Solid.Inverse">
    10         <item name="android:background">@color/navbar</item>
    11     </style>

    其实就是设置了actionbar的样式以及主题的背景颜色,让他的颜色与我程序的导航栏颜色相同。

    接下来在titleactivity的oncreate的setcontentview后加入以下代码:

    1 if (VERSION.SDK_INT >= VERSION_CODES.KITKAT) {
    2             getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
    3             getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
    4         }

    再在titleactivity的xml布局文件中加入以下代码:

    android:clipToPadding="true"
    android:fitsSystemWindows="true"

    这就完了吗,对,就是这么简单。也许你会遇到一些问题,因为actionbar要求的最小api是11.所以你的minsdk必须设置成11.

    大功告成了,欣赏一下截图吧

  • 相关阅读:
    C/S 与 B/S 区别
    XE2的一些新东西
    Versant数据库实验
    概率算法sherwood算法
    组合数学引论部分习题答案
    概率算法n皇后的LV算法
    概率算法Las Vegas
    小型企业库存管理系统的设计与实现
    概率算法Numerical和Monte Carlo
    我的彩票梦十一运夺金模拟程序
  • 原文地址:https://www.cnblogs.com/dongweiq/p/4414544.html
Copyright © 2011-2022 走看看