天天看点

android状态栏一体化(改变状态栏的背景颜色)开源工程推荐

android 沉浸式状态栏、状态栏一体化、透明状态栏、仿ios透明状态栏 

http://blog.csdn.net/jdsjlzx/article/details/50437779

注:状态栏的字体颜色位白色, 如果状态栏背景为白色,上面的博客已经解决了。

1、前言

在android kitkat 有一个新的特性可以设置手机状态栏的背景,让手机整个界面的风格保持一致,看起来非常清爽,在今年的google i/o上的android l默认就是这种风格。来现在看我们怎么加上这个酷黑狂拽掉渣天的功能怎么给我们的程序加上。来先看一下demo效果图。

android状态栏一体化(改变状态栏的背景颜色)开源工程推荐

2、关与kitkat

android 4.4 提供了一套能透明的系统ui样式给状态栏和导航栏,这样的话就不用向以前那样每天面对着黑乎乎的上下两条黑栏了,还可以调成跟activity 一样的样式,形成一个完整的主题。

3、设置方法

首先要打开activity的透明主题功能,可以把activity的主题设置继承*.translucentdecor 主题,然后设置android:windowtranslucentnavigation 或者android:windowtranslucentstatus的主题属性为true,又或者在activity的代码里面开启flag_translucent_navigation 或是 flag_translucent_status的window窗口标识。由于透明主题不能在4.4以前的版本里面使用,所以系统样式跟以前没有区别,也就是看不到任何变化,这是一个兼容模式,这个模式可以兼容到api

10.

激活主题

[java] view

plaincopy

@override  

protected void oncreate(bundle savedinstancestate) {  

    super.oncreate(savedinstancestate);  

    setcontentview(r.layout.activity_main);  

    // 创建状态栏的管理实例  

    systembartintmanager tintmanager = new systembartintmanager(this);  

    // 激活状态栏设置  

    tintmanager.setstatusbartintenabled(true);  

    // 激活导航栏设置  

    tintmanager.setnavigationbartintenabled(true);  

}  

设置状态栏颜色和图片

// 设置一个颜色给系统栏  

tintmanager.settintcolor(color.parsecolor("#99000ff"));  

// 设置一个样式背景给导航栏  

tintmanager.setnavigationbartintresource(r.drawable.my_tint);  

// 设置一个状态栏资源  

tintmanager.setstatusbartintdrawable(mydrawable);  

4、开源下载地址

https://github.com/hexiaochun/systembartint

状态栏的字体颜色位白色, 如果状态栏背景为白色,这个怎么解决呢?下面这个博客解决了这个问题。

继续阅读