重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
android4.4 以下修改状态栏颜色的方法为:
创新互联建站是少有的成都网站设计、做网站、成都外贸网站建设公司、营销型企业网站、小程序制作、手机APP,开发、制作、设计、买友情链接、推广优化一站式服务网络公司,自2013年起,坚持透明化,价格低,无套路经营理念。让网页惊喜每一位访客多年来深受用户好评
1、首先会懂得反编译,电脑上要安装java环境和反编译工具。没有的百度搜索下载安装。这里就不多说了。
2、要准备一个framework-res.apk放在一边待用,把framework-res.apk复制到反编译工具里、反编译framework-res.apk后打开res\values\styles.xml。
3、直接搜索以下代码
style name="TextAppearance.StatusBar" parent="@style/TextAppearance"
你会看见style name="TextAppearance.StatusBar" parent="@style/TextAppearance"
item name="textSize"14.0sp/item
item name="textStyle"normal/item
item name="textColor"?textColorPrimary/item
/style 然后修改这一段代码item name="textColor"?textColorPrimary/item 为 item name="textColor"#ff000000/item
000000为颜色代码 想要什么颜色就修改成自己喜欢的颜色就可以了 颜色对照表可以参考
4、然后回编译。回编译完成后用电脑上的压缩软件打开回编译好的framework-res.apk,拖出里面的resources.arsc替换进事先准备好的framework-res.apk里就可以了。然后用复制到内存卡 用RE复制或者移动到system里 修改权限 3 1 0,在移动到framework里覆盖就可以了。关机重启,状态栏的通知内容颜色也变了。
在安卓6.0,增加了SYSTEM_UI_FLAG_LIGHT_STATUS_BAR这个Flag字段,可以设置状态栏的字体为深色,不是一直默认的白色了。在浅色背景的沉浸式状态栏中很有必要。
使用方式
window必须是FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS(绘画模式)且一定不能是FLAG_TRANSLUCENT_STATUS(半透明模式)
注:在8.0跟6.0系统上测试过,8.0这个并没有要求,6.0确实是需要这个前提
在一Activity多Fragment,各Fragment之间字体效果可能要求不同,需动态设置字体颜色
参考文章:
android4.4以下修改状态栏颜色的方法为:1、首先会懂得反编译,电脑上要安装java环境和反编译工具。没有的百度搜索下载安装。这里就不多说了。2、要准备一个framework-res.apk放在一边待用,把framework-res.apk复制到反编译工具里、反编译framework-res.apk后打开res\values\styles.xml。3、直接搜索以下代码你会看见14.0spnormal?textColorPrimary然后修改这一段代码?textColorPrimary为#ff000000000000为颜色代码想要什么颜色就修改成自己喜欢的颜色就可以了颜色对照表可以参考/tools/sejie.asp4、然后回编译。回编译完成后用电脑上的压缩软件打开回编译好的framework-res.apk,拖出里面的resources.arsc替换进事先准备好的framework-res.apk里就可以了。然后用复制到内存卡用RE复制或者移动到system里修改权限310,在移动到framework里覆盖就可以了。关机重启,状态栏的通知内容颜色也变了。
Android开发中,经常需要实现下图状态栏的效果,类似于沉浸式状态栏,但这里仅仅是讨论设置状态栏的颜色和状态栏上面文字、图标的颜色的方法。
Android 4.4(API 19)之后,就提供了修改状态栏颜色的方法,但是在 Android 6.0(API 23)之后,才支持修改状态栏上面的文字和图标颜色,默认是白色的。所以会导致一个问题,在 4.4 到 6.0 之间的系统,状态栏设置为浅色的话,状态栏上面白色的文字和图标会看不清,像下面这样:
有一些第三方的系统提供了设置状态栏和状态栏文字、图标颜色的方法,比如小米的MIUI和魅族的Flyme,所以考虑了下比较好的实现方式是:
当然,这里面也会有坑,比如 MIUI 提供的修改状态栏字体颜色方法会跟 Android 系统自带的方法冲突,官方说明如下: 关于MIUI状态栏字符颜色逻辑调整说明
经过网上的资料和自己的尝试,MIUI 系统还是同时使用 MIUI 提供的方法和 Android 系统自带的方法来修改状态栏字体颜色比较保险。
基于上面的思考,封装了设置 Android 4.4 以上系统状态栏颜色和状态栏字体、图标颜色的方法:
要在 Application Theme 加上 item name="android:fitsSystemWindows"true/item ,不然页面会顶到状态栏上面,或者在 Activity 的布局里面加上 android:fitsSystemWindows="true" 和 android:clipToPadding="false" 也可以。
最终实现的效果如下:
大家有更好的方案可以告诉我~
android4.4 以下修改状态栏颜色的方法为:
1、首先会懂得反编译,电脑上要安装java环境和反编译工具。没有的百度搜索下载安装。这里就不多说了。
2、要准备一个framework-res.apk放在一边待用,把framework-res.apk复制到反编译工具里、反编译framework-res.apk后打开res\values\styles.xml。
3、直接搜索以下代码
style name="TextAppearance.StatusBar" parent="@style/TextAppearance"
你会看见style name="TextAppearance.StatusBar" parent="@style/TextAppearance"
item name="textSize"14.0sp/item
item name="textStyle"normal/item
item name="textColor"?textColorPrimary/item
/style 然后修改这一段代码item name="textColor"?textColorPrimary/item 为 item name="textColor"#ff000000/item
000000为颜色代码 想要什么颜色就修改成自己喜欢的颜色就可以了 颜色对照表可以参考
4、然后回编译。回编译完成后用电脑上的压缩软件打开回编译好的framework-res.apk,拖出里面的resources.arsc替换进事先准备好的framework-res.apk里就可以了。然后用复制到内存卡 用RE复制或者移动到system里 修改权限 3 1 0,在移动到framework里覆盖就可以了。关机重启,状态栏的通知内容颜色也变了。
在Android中我们经常需要设置屏幕顶部状态栏的主题和应用页面保持同一风格,本文介绍几种常用的设置方案:
首先给出一张图:
2 2
通过上图,我们可以通过设置不同的属性来达到控制不同位置颜色的目的,下面给出使用示例,修改res/values-19里面的内容:
主要是设置 colorPrimary,colorPrimaryDark这两个属性的值来设置状态栏的颜色,需要注意的是:
1:AndroidManifest.xml文件中的targetSdkVersion必须设置在 21 以上。
2.parent主题必须是 Theme.AppCompat 开头,兼容包下的主题,所以必须一用 v7 包。
在顶部标题栏设置属性值达到风格一致的目的
首先修改res/values-v19文件夹下的styles.xml文件内容如下(如果没有可以新建一个):
然后设置顶部标题控件的两个属性:
这时状态栏会保持与设置fitsSystemWindow属性的控件的背景颜色一致。