Android Status(状态栏) 着色
方案一
- 将状态栏透明
- 代码设置
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {//5.0及以上View decorView = getWindow().getDecorView();int option = View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN| View.SYSTEM_UI_FLAG_LAYOUT_STABLE;decorView.setSystemUiVisibility(option);getWindow().setStatusBarColor(Color.TRANSPARENT);} else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {//4.4到5.0WindowManager.LayoutParams localLayoutParams = getWindow().getAttributes();localLayoutParams.flags = (WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS | localLayoutParams.flags);}
- xml配置
//values
<style name="TranslucentTheme" parent="AppTheme">
</style>//values-v19
<style name="TranslucentTheme" parent="Theme.AppCompat.Light.NoActionBar"><item name="android:windowTranslucentStatus">true</item><item name="android:windowTranslucentNavigation">false</item>
</style>//values-v21
<style name="TranslucentTheme" parent="Theme.AppCompat.Light.NoActionBar"><item name="android:windowTranslucentStatus">true</item><item name="android:windowTranslucentNavigation">false</item><item name="android:statusBarColor">@android:color/transparent</item>
</style>
- 着色
android:fitsSystemWindows="true"
不让布局延伸到状态栏,为根布局设置paddingTop值。
//values
<dimen name="padding_top">0dp</dimen>
//values-v19
<dimen name="padding_top">25dp</dimen>
NavigationView未延伸到状态栏解决方法:
private void navViewToTop() {if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) {mDrawerLayout.setFitsSystemWindows(true);mDrawerLayout.setClipToPadding(false);}}
方案二
- 将状态栏透明
- 着色
- 在布局文件中添加android:fitsSystemWindows="true"属性;
- 创建View并添加到状态栏
private void addStatusBarView() {View view = new View(this);view.setBackgroundColor(getResources().getColor(R.color.colorPrimary));LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,getStatusBarHeight(this));ViewGroup decorView = (ViewGroup) findViewById(android.R.id.content);decorView.addView(view, params);}
Android Status(状态栏) 着色相关推荐
- Android 沉浸状态栏
Android 沉浸状态栏 前言 原文:http://blog.csdn.net/mybeta/article/details/50760323 这里说的沉浸状态栏是指透明状态栏,至于为什么国内喜欢将 ...
- android(cm11)状态栏源码分析(一)
版权声明:您好,转载请留下本人博客的地址,谢谢 https://blog.csdn.net/hongbochen1223/article/details/50216563 (一):写在前面 最近由于工 ...
- Android中状态栏的隐藏
Android中状态栏的隐藏 系统中状态栏的隐藏 定制系统的时候,想去掉系统中的状态栏,系统中的状态栏隐藏的可在framework中的SystemUI.apk中修改实现. SystemUI.apk代码 ...
- Android动态控制状态栏显示和隐藏
记得之前有朋友在留言里让我写一篇关于沉浸式状态栏的文章,正巧我确实有这个打算,那么本篇就给大家带来一次沉浸式状态栏的微技巧讲解. 其实说到沉浸式状态栏这个名字我也是感到很无奈,真不知道这种叫法是谁先发 ...
- android 系统状态栏的隐藏和显示
今天,简单讲讲android如何控制 系统状态栏的隐藏和显示. 昨天遇到这个问题,找了好久资料才解决,这里记录一下. 网上流传着很多种做法.比如: 1.在AndroidManifest.xml文 ...
- Android隐藏状态栏、导航栏
Android隐藏状态栏.导航栏 [java] view plaincopy private void hideStatusNavigationBar(){ if(Build.VERSION.SDK_ ...
- java手机状态栏圆形图标,android实现状态栏添加图标的函数实例
本文实例讲述了android实现状态栏添加图标的函数.分享给大家供大家参考.具体如下: private void showNotification() { // 创建一个NotificationMan ...
- android 透明状态栏方法及其适配键盘上推(一)
android的状态栏(statusBar)版本的差异化比较大.在android 4.4 以上和5.x可以设置状态栏背景颜色,但是不可以设置状态栏中字和图标的颜色.而系统默认的statusbar的字体 ...
- Android Status Bar
Android Status Bar被划分为左右两边,他的view的layout在xml中有定义.右边的图标部分是存放系统服务图标,左边是应用的一些图标.如果你想改变这些图标,可以修改StatusBa ...
最新文章
- [java手把手教程][第二季]java后端博客系统文章系统——No10
- 【LeetCode从零单排】No100 Same Tree No101 Symmetric Tree
- python axis 0_axis=0在sum()和dropna()中的行为似乎不同
- Android复习08【内容提供者】
- 记一次git硬reset导致的代码消失
- aws rds监控慢sql_在AWS RDS SQL Server上使用SSIS包
- python的turtle模块(海龟画图)
- Hadoop小文件存储方案
- Linux查看文件以及文件夹个数
- 前台登录账号改变时迅速清空记录的登录密码
- 云课堂智慧职教中c语言答案,云课堂智慧职教查答案自动答题
- PDF/CDF 用matlab计算和绘图1
- OpenSSL FIPS安装
- Excel打印不完整
- JS数据交互:动态从数据库中获取数据填充Select
- 无线接入控制服务器(ac),无线AP控制器是什么?无线AP与无线AC的区别
- 左倾红黑树Go语言实现
- 大龄计算机博士就业如何,大龄老博士的“血泪”总结:找工作请避免这些“坑”...
- 马上七夕了程序员如何给爱人一个浪漫表白?
- LGBMRegressor拟合函数官方文档
热门文章
- 中专科学计算机应用基础试题及答案,职业中专《计算机应用基础》期中考试试卷...
- IntelliJ IDEA 快捷键(一)(window版)
- hashicorp/consul
- 数据库原理----学习目标
- 动态调用对象的属性和方法——性能和灵活性兼备的方法
- Windows上C++使用共享内存进行进程间通讯
- win32汇编基础概念
- IOS基础之UIDynamicAnimator动力学入门-01
- python和rpa有什么关系_什么是RPA_什么是RPA_产品简介_机器人流程自动化RPA - 阿里云...
- 外观模式和代理模式的联系和区别_java23种设计模式-结构型模式之外观模式