Android 可在状态上使用颜色绘制的覆盖层

Android 可在状态上使用颜色绘制的覆盖层,android,android-layout,android-xml,Android,Android Layout,Android Xml,我有以下线性布局: <LinearLayout android:id="@+id/like_button" android:clickable="true" android:layout_width="wrap_content" android:layout_height="36dp" android:layout_marginRight="15dp" android:gravity="center"> <ImageVi

我有以下
线性布局

<LinearLayout
    android:id="@+id/like_button"
    android:clickable="true"
    android:layout_width="wrap_content"
    android:layout_height="36dp"
    android:layout_marginRight="15dp"
    android:gravity="center">

    <ImageView
        android:layout_width="20dp"
        android:layout_height="20dp"
        android:layout_marginRight="15dp"
        android:adjustViewBounds="true"
        android:scaleType="fitCenter"
        android:src="@drawable/ic_like"
        />

    <TextView
        android:id="@+id/num_likes"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:textSize="14sp"
        />

</LinearLayout>

类似于icu的
drawable只是一个灰色的竖起大拇指图标。是否有一种方法可以在特定状态下更改图标的颜色,而无需以不同的颜色提供相同的图标PNG,而是为图标提供要更改的十六进制颜色值


例如,如何创建一个状态列表,如果单击图标,图标的颜色将变为红色?

否,使用png可绘制资源无法做到这一点,但您可以创建不同的.png图标,然后从代码中使用它


setImageResources(…您的图标…)

不,使用png可绘制资源无法做到这一点,但您可以创建不同的.png图标,然后从代码中使用它


setImageResources(…您的图标…)

请参见
Drawable#setColorFilter
如何创建不同的状态(据我所知,它们通常在单独的XML布局中设置)?我认为Fontastica可能会帮助您在需要更改颜色时调用
setColorFilter
,请参见
Drawable#setColorFilter
如何创建不同的状态(据我所知,它们通常设置在单独的XML布局中)?我认为Fontastica可以帮助您在需要更改颜色时调用
setColorFilter