1

我希望有人可以帮助我解决这个问题。我正在从资产文件夹中加载位图并在之后显示它们。到目前为止一切都很好,除了我所有的照片都失去了透明度之外,一切都很好。

这就是我的 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 接缝加载会产生问题。

4

1 回答 1

0

代替使用 ImageView 尝试使用 ImageButton,因为它是透明的,它看起来像一个 ImageView

于 2013-03-28T09:17:57.907 回答