我的drawable文件夹中有一个透明图像,我正在尝试使用Intent发送它。图像加载并发送得很好,但它不再透明,并附有黑色bacground。这就是我发送图像的方式
Intent localIntent = new Intent("android.intent.action.SEND");
localIntent.putExtra(Intent.EXTRA_STREAM,
Uri.parse("android.resource://com.t4t.stickerwhatsapp/" + videoDetails.get(pos)));
localIntent.setType("image/*");
startActivityForResult(localIntent,111);
videoDetails.get(pos)是drawable文件夹中图像的id。为什么在我的图像中添加黑色背景?
编辑:事实证明我的手机正在将黑色bg添加到我收到的所有透明图像中,而不是在发送之前添加它的代码。
答案 0 :(得分:0)
您应该使用getResources()提供的资源从资源中获取可绘制的内容。
我建议您使用:
Drawable drawable = getResources().getDrawable(R.drawable.image);
图像的ID可能会发生变化,并且对其进行监控是一个坏主意。如果你必须这样做,你可以使用:
getResources().getIdentifier("image", "drawable","package_name");
如果图像仍然不透明,我可能会尝试使用Color.Transparent设置drawables背景颜色。这可能是一些问题,特别是如果另一方面正在处理drawable。
答案 1 :(得分:0)
事实证明我的手机正在将黑色bg添加到我收到的所有透明图像中,而不是在发送之前添加它的代码。