以编程方式更改drawable.xml项目颜色

时间:2015-01-09 10:14:31

标签: android xml-drawable

我正在使用这个tab1.xml drawable as:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_checked="true" android:drawable="@drawable/normal" />
<item android:state_pressed="true" android:drawable="@drawable/activated" />
<item android:state_selected="true" android:drawable="@drawable/activated" />
<item android:drawable="@drawable/normal" />
</selector>

那么,如何访问此tab1.xml drawable并以编程方式更改普通图像颜色?

1 个答案:

答案 0 :(得分:0)

实现此目的的唯一方法是应用ColorFilter

Drawable d = getResources().getDrawable(R.drawable.normal);
Color newColor = getResources().getColor(R.color.new_color);
d.setColorFilter(newColor, PorterDuff.Mode.SRC_IN);