Android的supportV7中默认按钮的颜色设置

Android的supportV7中默认按钮的颜色设置,第1张

我们知道,在stylesxml文件里面可以设置主题,在主题中设置的一些颜色,将会应用到默认的AppCompat控件上,从而很简单的就可以保持整个APP在UI上的一致性。下面是一个例子:

至于各种控件是如何应用这些颜色设置的,则需要经过更多的尝试了。

比如Activity导航栏默认的图标颜色是colorControlNormal,导航栏的底色是colorPrimary,沉浸式状态栏默认的颜色是colorPrimaryDark;

比如FAB的默认颜色是colorAccent;

比如AppCompatCheckBox默认的选中状态的颜色是colorAccent,而默认的未选择状态的颜色的colorControlNormal;

比如AppCompatSpinner的下拉图标的默认颜色也是colorControlNormal。

其实涉及到的主要的就是下面这几个参数:

那么问题来了,如果你使用蓝色的沉浸式状态栏,导航栏上的图标则使用白色,那在这个Activity中使用AppCompatCheckBox的时候,未选择状态就也是白色的,此时如果在白色的背景色下,用户就看不出这是个AppCompatCheckBox了。这时候怎么办?如下图(图中使用的是AppCompatSpinner):

其实很简单,在这个AppCompatCheckBox上使用app:theme="@style/MyCheckBox",然后在stylesxml中添加新的

但是需要注意的是,这样可能引起控件其他默认属性的变化,比如CheckBox的textSize会变成1(不使用app:theme的时候和APP的默认字体大小一样)。

android:theme和app:popupTheme的作用,以及在android 30以下不起作用问题的解决

如果你要对系统定制,这个功能是可以实现的,网上的指导很多。

如果你想通过程序代码实现这个功能,就不要抱有希望了。

你可以查看Android提供了和状态栏相关的权限,也就折叠下拉、隐藏图标那么三项,没有修改颜色的权限。所以,除非你Root,再借助反射,有可能实现这一功能。

这一功能,Android也许会在新的版本中支持,但目前不行。

Android44已经引入了一个新的特性,在应用程序内可以开启透明状态栏和透明虚拟按钮。

android44 以下修改状态栏颜色的方法为:

1、首先会懂得反编译,电脑上要安装java环境和反编译工具。没有的百度搜索下载安装。这里就不多说了。

2、要准备一个framework-resapk放在一边待用,把framework-resapk复制到反编译工具里、反编译framework-resapk后打开res\values\stylesxml。

3、直接搜索以下代码

<style name="TextAppearanceStatusBar" parent="@style/TextAppearance">

你会看见<style name="TextAppearanceStatusBar" parent="@style/TextAppearance">

<item name="textSize">140sp</item>

<item name="textStyle">normal</item>

<item name="textColor">textColorPrimary</item>

</style> 然后修改这一段代码<item name="textColor">textColorPrimary</item> 为 <item name="textColor">#ff000000</item>

000000为颜色代码 想要什么颜色就修改成自己喜欢的颜色就可以了 颜色对照表可以参考 http://www59178com/tools/sejieasp

4、然后回编译。回编译完成后用电脑上的压缩软件打开回编译好的framework-resapk,拖出里面的resourcesarsc替换进事先准备好的framework-resapk里就可以了。然后用复制到内存卡 用RE复制或者移动到system里 修改权限 3 1 0,在移动到framework里覆盖就可以了。关机重启,状态栏的通知内容颜色也变了。

欢迎分享,转载请注明来源:品搜搜测评网

原文地址:https://pinsoso.cn/shuma/1308023.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-09-13
下一篇2023-09-13

随机推荐

  • sk2精华露使用顺序

    第1个步骤就是先进行面部的清洁,清洁完了之后需要在脸上拍一点爽肤水,接着需进一步的修复,用旗下的补水保湿修复精华露来进行修复,那这款精华露当中所含有的pitera乃是神仙水的整整4倍,所以能达到强效保湿补水的效果,绝对是干皮的救星。在这个步

    2024-04-15
    63600
  • 欧诗漫珍珠白套装适合什么年纪_适合肤质

    你只知道自己黑,却不知道为何会黑,都说一白遮百丑,一黑毁所有。珍珠白系列产品,均持有国家特证,有美白特证才敢说美白。下面我带大家来看一下欧诗漫珍珠白套装适合什么年纪_适合肤质。欧诗漫珍珠白套装适合什么年纪欧诗漫OSM新珍珠白补水美白

    2024-04-15
    63100
  • 资生堂双11必购清单有哪些?

    双十一一定要买资生堂悦薇珀翡水乳套装亮肤水和资生堂红色蜜露精华化妆水。这两个都非常适合秋冬季节。而且双十一的时候有折扣。先说资生堂悦薇珀翡水乳套装亮肤水,这是一款抗皱效果的护肤品,不是那么的清爽,有些粘,不过个人可以接受,因为秋冬季节皮肤干

    2024-04-15
    51500
  • 国产好用的精华液推荐

    国产好用的精华液推荐如下:1、自然堂凝时鲜颜肌活修护精华液。2、百雀羚水嫩精纯肌底精华液。3、相宜本草丹参清痘精华液。4、御泥坊光感璀璨皙妍精华液。5、羽西净萃悦白盈透精华液。如何选择适合自己的精华液?观察精华液的质地,选择适合自己的肤质的

    2024-04-15
    54800
  • 王者荣耀泡泡玛特盲盒多少钱泡泡玛特盲盒怎么买最便宜

    王者荣耀最近又和泡泡玛特近展开了一个新的联名活动,玩家可以在泡泡玛特中买到超多非常可爱的王者荣耀英雄盲盒,如果你也想获得这些可爱的盲盒,那就一定要先来看下这篇文章,因为这里不仅能够看到王者荣耀盲盒中都有哪些英雄,而且还有非常实用的省钱攻略呢

    2024-04-15
    41900
  • 凝露,乳液,保湿露,面霜,精华素有什么区别?

    凝露,乳液,保湿露,面霜,精华素有什么区别以植物医生为例。从适用人群来解释:乳液适合混合型皮肤的人用,春秋干燥的季节用来补水效果不错。而凝露多是无油配方,喜欢出油的MM们使用效果会很好。所以爱出油的妹子们选择凝露来调节肌肤的水油平衡,是最好

    2024-04-15
    40500
  • 清莹露和神仙水的区别

    清莹露和神仙水的区别为价格区别、外观区别、功效区别、适用人群不同、效果区别。1、成分区别:神仙水是由半乳糖酵母的发酵物过滤液组成,除了丁二醇和其它润肤成份之外,没有其它有效成份。清莹露是用水做溶剂,加入了酵母、甘油、适量的乳化剂和酸类,水杨

    2024-04-15
    45900

发表评论

登录后才能评论
保存