gpt4 book ai didi

android - Drawable.setColorFilter() 不适用于 Android 2.1

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:17:44 26 4
gpt4 key购买 nike

Drawable d = new BitmapDrawable(BitmapFactory.decodeResource(
getResources(), R.drawable.ic_watch));
d.setColorFilter(new LightingColorFilter(color, lightenColor));
imageView.setImageDrawable(d);

在 Android 2.2(模拟器)和 2.3 (N1) 上,setColorFilter() 工作正常。为什么它不能在 2.1 上运行(在模拟器上测试过)?另一个 Android 错误?

最佳答案

您需要使您的位图可变。

// make a mutable Bitmap
Bitmap immutableBitmap = BitmapFactory.decodeResource(getResources(),
R.drawable.ic_watch);
Bitmap mutableBitmap = immutableBitmap.copy(Bitmap.Config.ARGB_8888, true);

// you have two bitmaps in memory, so clean up the mess a bit
immutableBitmap.recycle(); immutableBitmap=null;

Drawable d = new BitmapDrawable(mutableBitmap);

// mutate it
d.setColorFilter(new LightingColorFilter(color, lightenColor));

imageView.setImageDrawable(d);

您可以看到这个问题突然出现在 here 上,也是。

关于android - Drawable.setColorFilter() 不适用于 Android 2.1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5499637/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com