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