在选择器中更改drawable的颜色

rco*_*ini 2 android drawable

是否可以改变drawable选择器的颜色?

我的选择器:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
    <item android:drawable="@drawable/ic_plus_circle_grey600_48dp" android:state_pressed="true"/>
    <item android:drawable="@drawable/ic_plus_circle_black_48dp"/>
</selector>
Run Code Online (Sandbox Code Playgroud)

我尝试使用这种方式,(在这种情况下,我在色调上使用选择器)但我收到一些错误:

<ImageView
     android:id="@+id/btAdd"
     android:layout_width="wrap_content"
     android:src="@drawable/ic_plus_circle_black_48dp"
     android:tint="@color/blue_android_focused"
     android:layout_height="wrap_content"/>
Run Code Online (Sandbox Code Playgroud)

这是色调的选择器:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:color="@color/blue_android_pressed" android:state_pressed="true" />
    <item android:color="@color/green" />
</selector>
Run Code Online (Sandbox Code Playgroud)

sau*_*lmm 11

在位图上使用色调(**API 21 +**):

选择器:drawable/selector_add

<?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/ic_plus_circle_grey600_48dp"
            android:tint="@color/blue_android_pressed" />
    </item>
    <item>
        <bitmap android:src="@drawable/ic_plus_circle_grey600_48dp"
            android:tint="@color/colorAccent" />
    </item>
</selector>
Run Code Online (Sandbox Code Playgroud)

在里面 ImageView

<ImageView
    android:id="@+id/btAdd"
    android:layout_width="wrap_content"
    android:src="@drawable/selector_add"
    android:layout_height="wrap_content"
    />
Run Code Online (Sandbox Code Playgroud)

  • 仅当可绘制对象是 png 时才有效,而当它是 XML 时则无效。 (4认同)