android开发如何定制状态栏的颜色,同时支持4.4(KIKAT,api19)和19以上系统。
来源:互联网 发布:淘宝2016年销售总额 编辑:程序博客网 时间:2024/06/01 20:22
懒筋发作太久,博客文章一直难产。今天硬着头皮都要发出来。
----------------------------------------------此处是碎碎念的华丽分割线-------------------------------------------------
很多开发者朋友都在问,怎样做到支持安卓4.4和4.4以上的状态栏颜色的定制。很多文章都提到的一种方案是在java代码中直接硬编码进行设置。本文提供一种比较简洁有效的方式。
首先是app的主题。在values-->style.xml里面这样定义主题:
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> <!-- Customize your theme here. --> <item name="colorPrimary">@color/colorPrimary</item> <item name="colorPrimaryDark">@color/colorPrimaryDark</item> <item name="colorAccent">@color/colorAccent</item> </style> <style name="AppTheme.NoActionBar"> <item name="windowActionBar">false</item> <item name="windowNoTitle">true</item> </style><pre name="code" class="html">其中的colorPrimary,colorPrimaryDark和colorAccent三个颜色随你需要自己定义。
如果仅仅是要支持5.0和以上系统,那么这样就可以了。
假如还要支持4.4,那么除了上面的,还需要做以下工作:
在res目录下,新建一个values-v19文件夹,在里面创建一个文件style.xml,重新定义AppTheme.NoActionBar主题:
<style name="AppTheme.NoActionBar"> <item name="windowActionBar">false</item> <item name="windowNoTitle">true</item> <item name="android:windowTranslucentStatus">true</item> <item name="android:fitsSystemWindows">true</item></style>最后,在你的activity布局文件的根节点处,加上一句:android:fitsSystemWindows="true"有人问了,那要是fragment呢?不要紧,fragment不需要另外设置。只需要加在Fragment所在的Activity布局文件的根节点就可以了。现在,你只要在Acitivity的根节点上定义背景颜色。
android:background="@color/colorPrimaryDark"android:fitsSystemWindows="true"这里可以是colorPrimaryDark,或者你任意定义的其他颜色。如此,这个布局文件所在的Activity头顶状态栏就会被设置成对应的颜色。当然别忘了,在定义activity时,应用主题:
android:theme="@style/AppTheme.NoActionBar"当然,跟这个主题对应,你的Activity要继承自
AppCompatActivity,并且要引入对应的支持包。build.gradle中引入:
compile 'com.android.support:appcompat-v7:24.2.1'compile 'com.android.support:design:24.2.1'OK,就酱紫。
0 0
- android开发如何定制状态栏的颜色,同时支持4.4(KIKAT,api19)和19以上系统。
- 更改android 4.4以上系统的状态栏和控制栏颜色
- Android 从照相机和相册选择图片使用原生代码裁剪(支持4.4 KIKAT及以上机型)
- Android从相册、照相机选择图片(支持4.4+,KIKAT以上)
- Android 4.4 以上更改状态栏颜色
- Android沉浸状态栏的实现,支持4.4以上
- Android沉浸状态栏的实现,支持4.4以上
- Android 状态栏的 颜色 的设置上的一些问题 4.4以上 ,字体颜色优化
- Android 状态栏的 颜色 的设置上的一些问题 4.4以上 ,字体颜色优化
- Android实现4.4以上系统状态栏透明
- 改变系统状态栏颜色(仅4.4或以上有效)
- Android开发-------设置系统状态栏颜色
- Android 4.4以上(改变状态栏的背景颜色)开源工程推荐
- Android 沉浸式状态栏 支持4.4及以上。
- android 5.0以上状态栏标题栏颜色属性
- android打开系统相册(解决api19的兼容问题)
- Android开发改变状态栏的颜色
- Android 如何设置状态栏颜色和标题栏颜色一致
- XMPP的基本使用以及Android即时通讯的基本思路
- codeforces724B+Batch Sort
- MySQL之——Replication的容量、故障排错以及多线程方式传输二进制日志
- 使用RecyclerView时item过多滑动报错
- requirejs和seajs那些蛋疼事儿
- android开发如何定制状态栏的颜色,同时支持4.4(KIKAT,api19)和19以上系统。
- linux下redis安装以及处理一些常见问题
- 修改数据表
- Python 包管理工具解惑
- 谈到电影,我们收获了什么
- PHP.3-DIV+CSS标准网页布局准备工作(上)
- STM32学习笔记(1)如何移植FreeRTOS
- 自定义侧滑菜单SlidingMenu
- MySQL添加远程访问权限