安卓4.4上实现透明导航栏和状态栏 Translucent system bar

1、前言

 

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

 

 

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.

激活主题

@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、开源下载地址

时间: 2024-11-01 13:43:29

安卓4.4上实现透明导航栏和状态栏 Translucent system bar的相关文章

显示-iOS 导航栏遮挡状态栏

问题描述 iOS 导航栏遮挡状态栏 我的导航栏是自定义的,布局是从顶部开始的,在ios6上显示没问题,由于ios7上状态栏 是半透明的,所以现在在iOS7上显示为状态栏与导航栏重叠了,具体显示如图: 用户体验相当不好,有没有什么方法解决他们的重叠问题. 注:项目中用到了自动布局! 谢谢 解决方案 你可以把视图的frame调一下 解决方案二: 你那个添加好友是自定义的吧,那么偏.你可以做个版本判断改下frame

去除安卓导航栏和状态栏的方法

http://www.th7.cn/Program/Android/201412/326584.shtml 去除导航栏主要意图为: 1>当手机有物理按键时,需要把虚拟按键(也叫做导航栏)去除或者隐藏,是用户界面的需要 2>如苹果那样只有一个按键的,不要这个虚拟按键 3>模拟器上自己做了导航键盘,不需要android自带的虚拟导航按键 这里介绍直接去除的方法: 1>去除导航栏: 设置导航栏的宽度为0即可,代码:frameworks/base/core/res/res/values/d

Android设置透明状态栏和透明导航栏

Android透明状态栏只有在4.4之后有. 在代码中加入下面几行代码即可实现 以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持脚本之家!

虚拟导航栏遮挡布局

从某种意义上来说,其实是我们的布局顶到人家虚拟导航键下面去了 如图: 这个BUG客户发现的,他用的华为m8手机,自带虚拟导航栏,你懂得!!!! 客户:这是什么情况 ??? 黑人问号? 我 : 额,这个,,我回去看看,放心,只是小问题 1.然后百度到一个方法: //根布局加 android:fitsSystemWindows="true" 效果简直爆炸: 这是真机 虚拟机 我就想问,多出来这一块算谁的? 2.后来,我就认认真真的读资料 fitSystemWindows属性: 官方描述:

Android 沉浸式状态栏与隐藏导航栏实例详解

1 前言 一般我们在Android的APP开发中,APP的界面如下: 可以看到,有状态栏.ActionBar(ToolBar).导航栏等,一般来说,APP实现沉浸式有三种需求:沉浸式状态栏,隐藏导航栏,APP全屏 沉浸式状态栏是指状态栏与ActionBar颜色相匹配, 隐藏导航栏不用多说,就是将导航栏隐藏,去掉下面的黑条. APP全屏是指将状态栏与导航栏都隐藏,例如很多游戏界面,都是APP全屏. 所以,在做这一步时,关键要问清楚产品狗的需求,免得白费功夫. 下面,分别来介绍这三种方式的实现. 2

网站菜单导航栏设计准则及设计技巧

  网络中每天都有海量的内容被发布,随之而来的问题是如何对这些内容分类,而内容和分类最终将导致导航问题.有时,当导航有太多选项时将会是个令人头疼的问题. 所以,治疗导航栏综合症(cure the navigation-itis syndrome)是非常重要的,使得导航栏对用户友好并容易操作. 本文提供了一些设计导航栏的技巧.帮助你解决导航问题并体统清晰的用户体验,并用真实的例子教你如何治愈导航炎综合症. 但首先,是这些技巧. 设计导航栏的技巧 当我们撰写这篇文章之前,Jon (SpyreStud

iOS 自定义状态栏和导航栏详细介绍_IOS

iOS 自定义状态栏和导航栏            开发IOS APP 经常会根据需求更改状态栏和导航栏,这里整理了几种方法,大家可以看下. 导航栏透明 -(void)viewWillAppear:(BOOL)animated { //viewWillAppear中设置透明 [super viewWillAppear:animated]; [self.navigationBar setBackgroundImage:[UIImage new] forBarMetrics:UIBarMetrics

ios-怎么显示导航栏上的barbuttonitem 但不让navigationBar显示??

问题描述 怎么显示导航栏上的barbuttonitem 但不让navigationBar显示?? 怎么显示导航栏上的barbuttonitem 但不让navigationBar显示?? 解决方案 显示导航栏才能使用barbuttonitem设置导航栏上面的按钮,不显示navigationBar,使用不了barbuttonitem.可以自己自定义一个. 解决方案二: 那就把navigationBar颜色设透明,backgroundColor 解决方案三: 在viewwillappear hidde

显示的数字 能指定到 导航栏的摸个图标上吗

问题描述 显示的数字 能指定到 导航栏的摸个图标上吗 用TobHost 制作 导航栏 单选按钮样式 如果显示 未读信息的数目(数字)怎么能指定到摸个导航图标上 解决方案 什么语言环境都没人,这没法回答呀