是否可以使用 ColorStateList 为矢量绘图着色
Is it possible to tint vector drawable with ColorStateList
现在我有类似的东西
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/bg_button_selected" android:state_selected="true"/>
<item android:drawable="@drawable/bg_button_pressed" android:state_pressed="true"/>
<item android:drawable="@drawable/bg_button_normal"/>
</selector>
其中 bg_button_selected、bg_button_pressed、bg_button_normal 是非常相同的 PNG,唯一的区别是颜色。
我可以用单个 SVG 替换一组 PNG 并像这样设置色调吗?
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="@color/bg_color_selected" android:state_selected="true"/>
<item android:color="@color/bg_color_pressed" android:state_pressed="true"/>
<item android:color="@color/bg_color_normal"/>
</selector>
Lollipop 之前的设备是否可行?
是的,您可以使用支持库。
您可以使用 ViewCompat.setBackgroundTintList(View, ColorStateList).
现在我有类似的东西
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/bg_button_selected" android:state_selected="true"/>
<item android:drawable="@drawable/bg_button_pressed" android:state_pressed="true"/>
<item android:drawable="@drawable/bg_button_normal"/>
</selector>
其中 bg_button_selected、bg_button_pressed、bg_button_normal 是非常相同的 PNG,唯一的区别是颜色。
我可以用单个 SVG 替换一组 PNG 并像这样设置色调吗?
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="@color/bg_color_selected" android:state_selected="true"/>
<item android:color="@color/bg_color_pressed" android:state_pressed="true"/>
<item android:color="@color/bg_color_normal"/>
</selector>
Lollipop 之前的设备是否可行?
是的,您可以使用支持库。
您可以使用 ViewCompat.setBackgroundTintList(View, ColorStateList).