Android查看state_pressed蓝色背景

时间:2012-07-07 05:18:42

标签: android background states pressed tint

我有很多自定义视图,我有state_pressed的样式。基本上是一个带

的矩形

实体android:color="#DC2D5A8C"

我要做的是模拟标准视图/控件附带的蓝色背景颜色。例如:当您单击按钮或列表视图项时,背景将变为蓝色(on_pressed)。

我得到了上述风格,但问题是让它称之为色调效果。在按钮中,文本标题为黑色。按下时,背景为蓝色,文本颜色变为白色。

现在我如何在自定义控件的视图中实现这种所谓的“色调”变化?

非常感谢您的回复。

谢谢!

1 个答案:

答案 0 :(得分:1)

您可以使用选择器xml文件来执行此操作。您必须设置按钮的背景。而不是将xml文件设置为其背景。在drawable文件夹中创建selector.xml文件,如下所示并设置该xml文件作为该按钮的背景,如:android:background =“@ drawable / selector”

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <!-- When selected, use blue -->
    <item android:drawable="@drawable/btn_blue"
          android:state_pressed="true" />
    <!-- When not selected, use black-->
    <item android:drawable="@drawable/btn_black"/>

 </selector>  

通过这样做,您将获得所谓的色调效果到您的按钮。希望这对您有帮助。