所以我试图在运行时为一些Drawable着色,为了实现这一点,我使用自定义的Resources类来返回Drawable着色。
类似的东西:
public final class MyResources extends Resources
{
public Drawable getDrawable(int resId) throws NotFoundException {
Drawable drawable = super.getDrawable(resId);
drawable.setColorFilter(Color.RED, PorterDuff.Mode.SRC_IN);
return drawable;
}
}
当drawable设置为widget时,在EditText,Buttons等一些小部件中,drawable会发生变异,过滤器会丢失。
我想要的是防止第二次设置drawable :( Hackish)
答案 0 :(得分:0)
试试我的图书馆。我为自定义EditText实现了一个特殊的drawable to tint drawables。这也适用于所有其他情况。