android - setColorFilter 不适用于 Android < 2.2

标签 android bitmap drawable

我对可绘制对象的 setColorFilter-Method 有疑问。

它在 Android 2.2 上运行良好,但在低于该版本的版本上运行不佳。

我的问题类似于此处描述的问题 Drawable.setColorFilter() not working on Android 2.1 ,但这对我不起作用......

我使用的代码在 Android 2.2 上运行良好,但在低于此版本的系统上运行不佳。

ImageView imageView = (ImageView) findViewById( R.id.imageView1 );        
Bitmap immutableBitmap = BitmapFactory.decodeResource( getResources(), R.drawable.mybitmap );
Bitmap mutableBitmap = immutableBitmap.copy( Bitmap.Config.ARGB_8888, true );
immutableBitmap.recycle();
immutableBitmap = null;
Drawable d1 = new BitmapDrawable( mutableBitmap );
d1.setColorFilter( 0xff00ffff, PorterDuff.Mode.MULTIPLY );
imageView.setImageDrawable( d1 );

非常感谢任何让它工作的线索:)

最佳答案

我不知道是否有其他解决方法,但我发现使用 imageView.setBackgroundDrawable() 而不是 imageView.setImageDrawable() 解决了这个问题< 2.2.

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

相关文章:

android - 如何设置壁纸使用应用程序服务壁纸和联系人照片?

android - 你如何使用一个加载占位符,它是一个带有图像加载器(如 Glide、Picasso 等)的动画微调器?

java - 为什么 LibGDX 中的实例会互相覆盖?

java - 安卓工作室 |如何使用 On Click 在 fragment 和 activity 之间切换

java - Android 将我的应用程序添加到库中的 "Share"按钮

Android 位图内存泄漏

android - 如何告诉 Android 不要缩放图像?

android - BitmapDrawable 已弃用的替代方案

android - 在文件夹中存储不同密度的可绘制对象

Android抽屉导航透明