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

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

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

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

1、前言

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

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
plain
copy

  1. @Override  
  2. protected void onCreate(Bundle savedInstanceState) {  
  3.     super.onCreate(savedInstanceState);  
  4.     setContentView(R.layout.activity_main);  
  5.     // 创建状态栏的管理实例  
  6.     SystemBarTintManager tintManager = new SystemBarTintManager(this);  
  7.     // 激活状态栏设置  
  8.     tintManager.setStatusBarTintEnabled(true);  
  9.     // 激活导航栏设置  
  10.     tintManager.setNavigationBarTintEnabled(true);  
  11. }  

设置状态栏颜色和图片

[java] view
plain
copy

  1. // 设置一个颜色给系统栏  
  2. tintManager.setTintColor(Color.parseColor("#99000FF"));  
  3. // 设置一个样式背景给导航栏  
  4. tintManager.setNavigationBarTintResource(R.drawable.my_tint);  
  5. // 设置一个状态栏资源  
  6. tintManager.setStatusBarTintDrawable(MyDrawable);  

4、开源下载地址

https://github.com/hexiaochun/SystemBarTint

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

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

时间: 2024-08-02 15:17:31

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

listview-点击 ListView 中的 item,然后改变行的背景颜色

问题描述 点击 ListView 中的 item,然后改变行的背景颜色 我想使用BaseAdapter 在ListView中显示item.我在BaseAdapter使用下面的代码: @Override public View getView(final int position, View convertView, ViewGroup parent) { //... convertView.setOnTouchListener(new OnTouchListener() { @Override

android-如何改变 TabHost 的背景颜色?

问题描述 如何改变 TabHost 的背景颜色? 我做了一个使用Tab Host的android应用程序,我想改变Tab Host的背景颜色,而不是使用 android 操作系统给予的默认颜色.我上网查找的下面的方法: for (i = 0; i < mTabHost.getTabWidget().getChildCount(); i++) { mTabHost.getTabWidget().getChildAt(i).setBackgroundColor(Color.LTGRAY); } mT

鼠标经过tr时,改变tr当前背景颜色

 本篇文章主要介绍了鼠标经过tr时,改变tr当前背景颜色的示例代码,需要的朋友可以过来参考下,希望对大家有所帮助 示例如下: 代码如下: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=GBK"> <title>鼠标经过给tr换颜色</title>     </head> <body>

Android编程实现改变控件背景及形态的方法_Android

本文实例讲述了Android编程实现改变控件背景及形态的方法.分享给大家供大家参考,具体如下: 1. 改变背景 在res/drawable下创建一个xml文件: <?xml version="1.0" encoding="UTF-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> // 控件被按下时候的背景 <item

Android特效专辑(二)——ViewPager渲染背景颜色渐变(引导页)

Android特效专辑(二)--ViewPager渲染背景颜色渐变(引导页) 首页:http://blog.csdn.net/qq_26787115/article/details/50439020 首页里面也提到过,自己有意做一款杂七杂八的APP,就是自己喜欢什么就加上面,现在本文说的是引导页,我找了很久才觉得可以的开源项目,自己做了一下修改 开源地址:https://github.com/TaurusXi/GuideBackgroundColorAnimation 先来看看效果图吧! 图片用

设置背景颜色-MFC中在View类中改变ClientDC的背景颜色

问题描述 MFC中在View类中改变ClientDC的背景颜色 我在MFC中建立了一个工程,用来在CView类中通过ClientDC来进行画图操作,现在想将ClientDC的默认背景颜色从白色改成黑色或者其他的颜色,求各位C大神指点,谢啦! PS:我试过在PreCreateWindow()和OnEraseBkgnd()函数中进行设置,但是没有成功,代码如下,请各位大神改正. BOOL CTestView::PreCreateWindow(CREATESTRUCT& cs) { cs.lpszCl

Android实现沉浸式通知栏通知栏背景颜色跟随app导航栏背景颜色而改变_Android

最近好多app都已经满足了沉浸式通知栏, 所谓沉浸式通知栏:就是把用来导航的各种界面操作空间隐藏在以程序内容为主的情景中,通过相对"隐形"的界面来达到把用户可视范围最大化地用到内容本身上. 而最新安卓4.4系统的通知栏沉浸模式就是在软件打开的时候通知栏和软件顶部颜色融为一体,这样不仅可以使软件和系统本身更加融为一体. 就是手机的通知栏的颜色不再是白色.黑色简单的两种了,本人用的小米4手机,米4手机中的自带软件都支持沉浸式通知栏, 举个例子:大家可以看一下自己的qq,它的标题的背景颜色是

Photoshop教程:改变人物照片背景颜色

本教程的素材图片背景有点偏灰,人物部分看上去有点花.处理的时候可以把背景加上其它颜色,然后再相应的把人物部分调整下颜色,这样人物部分会突出一点. 本教程的素材图片背景有点偏灰,人物部分看上去有点花.处理的时候可以把背景加上其它颜色,然后再相应的把人物部分调整下颜色,这样人物部分会突出一点. 原图 最终效果 1.打开原图素材,新建一个图层填充颜色:#98F0E9,图层混合模式改为"正片叠底",加上图层蒙版,用黑色画笔把人物部分擦出来,效果如下图. 图1 2.创建曲线调整图层,对蓝色进行调

鼠标经过tr时,改变tr当前背景颜色_javascript技巧

示例如下: 复制代码 代码如下: <html><head><meta http-equiv="Content-Type" content="text/html; charset=GBK"><title>鼠标经过给tr换颜色</title>    </head><body><table align="center" width="100%"