我在跑4.3在三星S3與setColorFilter
問題的唯一途徑我能得到的過濾器的工作是通過在draw(Canvas canvas)
方法應用它:
public class ColouredDrawable extends BitmapDrawable {
private ColorFilter mColorFilter;
public ColouredDrawable(Bitmap toTransform, int toColour, Resources resources) {
super(resources, toTransform);
float[] matrix = {
0, 0, 0, 0, ((toColour & 0xFF0000)/0xFFFF),
0, 0, 0, 0, ((toColour & 0xFF00)/0xFF),
0, 0, 0, 0, (toColour & 0xFF),
0, 0, 0, 1, 0 };
mColorFilter = new ColorMatrixColorFilter(matrix);
}
@Override
public void draw(Canvas canvas) {
setColorFilter(mColorFilter);
super.draw(canvas);
}
簡單應用setColorFilter
到BitmapDrawable沒似乎沒有任何效果。
'PorterDuff.Mode.SRC_ATOP'它是一個默認情況下使用,'weatherImg.setColorFilter(Color.WHITE)'也可以工作;) – GuilhE