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

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

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

我是这样做的:

设置style文件

  <style name="ThemeLeftAndRightAnimation" parent="android:Theme.Black">
<item name="android:windowAnimationStyle">@style/left_right_Animation</item>
<item name="android:windowNoTitle">true</item>
<item name="android:actionBarStyle">@style/MyActionBarStyle</item>
<item name="android:windowBackground">@color/navbar</item>
<item name="android:windowTranslucentStatus">true</item>
</style> <style name="MyActionBarStyle" parent="@android:style/Widget.Holo.Light.ActionBar.Solid.Inverse">
<item name="android:background">@color/navbar</item>
</style>

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

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

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

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

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

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

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

(原创)android4.4沉浸式标题栏的更多相关文章

  1. Android 开发学习进程0.11 pageview relativelayout 沉浸式标题栏

    fragment与pageView fragment fragment不可以侧滑切换相关界面,但多数代码位于fragment中,易于维护,同时不会受到多个手势滑动的影响 pageView pageVi ...

  2. Android沉浸式(侵入式)标题栏(状态栏)Status(三)

     Android沉浸式(侵入式)标题栏(状态栏)Status(三) 从附录文章1,2可以看到,依靠Android系统提供的标准方案,状态栏即便在透明状态下,仍然有些半透明而不是全透明.本文是And ...

  3. Android沉浸式(侵入式)标题栏(状态栏)Status(二)

     Android沉浸式(侵入式)标题栏(状态栏)Status(二) 附录1以xml写style实现了Android沉浸式(侵入式)状态栏(标题栏),同样以上层Java代码实现.在附录文章1的基础上 ...

  4. Android沉浸式(侵入式)标题栏(状态栏)Status(一)

     Android沉浸式(侵入式)标题栏(状态栏)Status(一) 现在越来越多的APP设计采用这种称之为沉浸式状态栏(Status)的设计,这种沉浸式状态栏又称之"侵入式"状 ...

  5. 实现android4.4新特性:沉浸式状态栏

    先放效果图: 所谓沉浸式状态栏,就是android4.4以后新加入的ui效果,能使最顶部的状态栏自动适宜app顶部的颜色,使两者看起来更像融为一体.下面放上实现代码: requestWindowFea ...

  6. TitleLayout——一个Android轻松实现通用、标准、支持沉浸式状态栏的标题栏库

    TitleLayout 多功能.通用的.可在布局或者使用Java代码实现标题栏:支持沉浸式状态栏,支持左侧返回按钮(不需要手动实现页面返回),左侧支持图片+文字.图片.文字:右侧支持图片.文字等. 堆 ...

  7. Android沉浸式状态栏(透明状态栏)最佳实现

    Android沉浸式状态栏(透明状态栏)最佳实现 在Android4.4之前,我们的应用没法改变手机的状态栏颜色,当我们打开应用时,会出现上图中左侧的画面,在屏幕的顶部有一条黑色的状态栏,和应用的风格 ...

  8. 8.Android 系统状态栏沉浸式/透明化解决方案

    转载:http://www.jianshu.com/p/34a8b40b9308 前言 网上已经有很多有关于系统状态栏的解决方案,这篇文章也不会有什么新奇的解决方案,都是本人经过自己试验,统计提炼出来 ...

  9. [置顶] Xamarin android沉浸式状态栏

    虽然关于android "沉浸式"状态栏有很多博客介绍过,从小菜到大神无一例外.我第一次看到这种"沉浸"式的效果我也以为真的是这么叫,然而根本不是这么回事,完全 ...

随机推荐

  1. 无法连接vCenter Server清单https://IP:10443

    VMware vCenter Server服务器安装系统的时候使用一个IP,安装完VMware vCenter后来更换了另外一个IP,当使用vSphere Web Client登陆VMware vCe ...

  2. java操作csv文件之javacsv.jar应用

    csv文件是分隔文件,如果使用java的io流来写,比较麻烦,这里为大家提供一个javacsv的jar包,这个很方便操作csv文件. 下载地址:https://pan.baidu.com/s/1i46 ...

  3. oracle 使用 ALTER 操作列

    使用 ALTER TABLE 语句追加, 修改, 或删除列的语法

  4. 武汉科技大学ACM:1001: 华科版C语言程序设计教程(第二版)习题6.7

    Problem Description 输出杨辉三角前n行. Input 输入一个数n(n <= 9) Output 输出杨辉三角前n行.(注意行末不能有多余的空格,数字以%3d的格式输出) S ...

  5. IO流文件字符输入输出流,缓冲流

    由于字节输入输出流在操纵Unicode字符时可能有乱码现象 于是就有了操作字符的输入输出流 Reader ,Writer和他们的子类FileReader,FileWrite(其实就是用来辅助构造的 W ...

  6. C++Primer charpter1.

    一.输入输出流 endl:会刷新buffer.刷新之后你才能看到.不手动用endl的话,就只能依靠系统自动刷.程序崩溃的话,你看到的调试信息可能是错误的. >>:   两个连续的符号 ci ...

  7. 关于Cococs中的CCActionEase

    尊重作者劳动,转载时请标明文章出处.作者:Bugs Bunny地址:http://www.cnblogs.com/cocos2d-x/archive/2012/03/13/2393898.html 本 ...

  8. HIBERNATE 入门小案例

    刚刚开始肯定好多人都会问什么是hibernate呢? 那么下面我们就来了解一下什么事hibernate吧! 首先,Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对 ...

  9. Linux编译错误集

    1.编译驱动: FATAL: modpost: GPL-incompatible module ArmGpioDriver.ko uses GPL-only symbol 'class_destroy ...

  10. uva10003 Cutting Sticks

    http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&p ...