如何在选择器的drawable中应用色调?

时间:2018-07-27 07:40:27

标签: android image layout selector shape

我有2张图片(normalpressed),我想在按钮的选择器中进行设置

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true" 
        android:drawable="@drawable/recent_pressed" />
    <item
         android:drawable="@drawable/recent" />
</selector>

现在我想在@drawable/recent_pressed图像中应用色彩。

对此有任何解决方案。

我不想为imageview创建自定义类,因为此选择器用作菜单。

我对此进行了搜索,但是这个link对我不起作用

2 个答案:

答案 0 :(得分:2)

  

您可以创建位图并在其上应用色调。

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true">
        <bitmap android:src="@drawable/your_pressed_drawable" android:tint="@color/colorPrimary"/>
    </item>
    <item android:drawable="@drawable/your_second_drawable" />
</selector>

答案 1 :(得分:1)

创建一个选择器tint_tem.xml:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="@color/white" android:state_pressed="true" />
<item android:color="@color/white" android:state_activated="true" />
<item android:color="@color/green" />

然后在您的xml中,可以将tint属性添加到ImageView:

<ImageView
android:layout_width="30dp"
android:layout_height="30dp"
android:tint="@color/tint_item"
android:src="@drawable/ic_menu_home" />

您还可以使用textColor样式在TextView上使用此选择器:

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/tint_item" />