微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

android中?attr / colorControlHighlight的默认颜色是什么?

我需要知道 android中的?attr / colorControlHighlight的认颜色,因为我需要为我的按钮应用相同的颜色按下我的drawable中的状态背景以用于棒棒糖前设备. ?attr / colorControlHighlight是棒棒糖的一个属性,你不能在前棒棒糖上使用它,否则它会触发错误.

解决方法

?attr / colorControlHighlight是对attr xml中定义的colorControlHighlight值的引用.

attrs.xml是一个位于以下位置的文件

android_sdk\platforms\android-22\data\res\values\attrs.xml

在这里,您可以在应用中使用的所有属性都可以找到.

如果我们检查该文件,我们会找到

< attr name =“colorControlHighlight”format =“color”/>串,

这意味着colorControlHighlight本身就是对颜色的引用.

此处声明的所有属性都只是对其他值的引用.
实际值在themes.xml文件中分配,而该文件又位于:

android-sdk\platforms\android-22\data\res\values\themes.xml

如果我们检查该文件,我们会发现有很多主题,它们使用我们的colorControlHighlight参考.因此,无论您是在应用程序中使用一个主题还是另一个主题,colorControlHighlight值对于每个主题都会有所不同.

在我们的案例中有2个主题

< item name =“colorControlHighlight”> @ color / legacy_button_pressed< / item>
主题

< item name =“colorControlHighlight”> @ color / legacy_light_button_pressed< / item> for Theme.Light

在这里,我们看到另一个引用而不是值.但现在他们引用了颜色属性:@color /.因此我们需要移动到color.xml文件.

这些是

android-sdk\platforms\android-22\data\res\values\colors.xml

android-sdk\platforms\android-22\data\res\values\colors_holo.xml

android-sdk\platforms\android-22\data\res\values\colors_leanback.xml

android-sdk\platforms\android-22\data\res\values\colors_legacy.xml

android-sdk\platforms\android-22\data\res\values\colors_material.xml

简单的文件检查会显示我们正在寻找的实际值:

在colors-legacy.xml文件中:

< color name =“legacy_button_pressed”> #fffea50b< / color>

< color name =“legacy_light_button_pressed”> @ color / legacy_button_pressed< / color>
这也指第一种颜色.

所以,我们搜索的颜色是#fffea50b

原文地址:https://www.jb51.cc/android/317492.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐