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

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...