覆盖可绘制状态的颜色

时间:2015-08-29 18:52:11

标签: android android-layout android-xml

我有以下LinearLayout

<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>

ic_like drawable只是一个灰色的竖起大拇指图标。有没有办法在特定状态下更改图标的颜色而不提供不同颜色的相同图标PNG,而是提供图标的十六进制颜色值以更改为?

例如,如何创建状态列表,如果点击图标,图标的颜色会变为红色?

1 个答案:

答案 0 :(得分:0)

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

yourImageView.setImageResources(..你的图标..);