我希望有人可以帮助我解决这个问题。我正在从资产文件夹中加载位图并在之后显示它们。到目前为止一切都很好,除了我所有的照片都失去了透明度之外,一切都很好。
这就是我的 XML 的样子
<ImageView
android:id="@+id/picture_iv"
android:layout_height="150dp"
android:layout_width="150dp"
android:layout_marginTop="10dp"
android:background="@android:color/transparent"
android:cacheColorHint="@android:color/transparent"
android:src="@drawable/prod_2"/>
这就是我从资产加载图片的方式。
public static Bitmap getBitmapFromAsset(Context context, String file) {
Bitmap bitmap = null;
BitmapFactory.Options op = new BitmapFactory.Options();
op.inPreferredConfig = Bitmap.Config.ARGB_8888;
InputStream is = context.getAssets().open(file);
bitmap = BitmapFactory.decodeStream(is, null, op);
return bitmap;
}
这些是我的活动中的行。
ImageView iv = (ImageView) a.findViewById(R.id.picture_iv);
iv.setImageBitmap(getBitmapFromAssets(getActivity(), picPath));
我已经尝试过与我的问题相关的建议,例如设置 android:cacheColorHint=@android:color/transparent 或 imageView.setBackgroundColor(0);
但没有任何帮助。有人能指出我正确的方向吗?我迷路了。
提前致谢,
编辑
我使用 PNG,它们都具有透明度。通过将图片移动到可绘制文件夹中并通过iv.setBackgroundResource(R.drawable.picture) 或 android:src="@drawable/picture"加载它们将显示它应该如何,具有透明度;
只是从 Assets 接缝加载会产生问题。