2

我的可绘制文件夹中有一个透明图像,我正在尝试使用 Intent 发送它。图像加载和发送都很好,但它不再透明并且附有黑色背景。这就是我发送图像的方式

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) 是可绘制文件夹中图像的 id。为什么会在我的图像中添加黑色背景?

编辑:原来我的手机正在将黑色背景添加到我收到的所有透明图像中,而不是在发送之前添加它的代码。

4

2 回答 2

0

您应该使用 getResources() 提供的资源从资源中获取可绘制对象。

我建议您使用:

Drawable drawable = getResources().getDrawable(R.drawable.image);

图像的 id 可能会更改,并且密切关注它是一个坏主意。如果你必须这样做,你可以使用:

getResources().getIdentifier("image", "drawable","package_name");

如果图像仍然不透明,我可能会尝试使用 Color.Transparent 设置可绘制的背景颜色。这可能是许多问题,尤其是在另一端正在处理可绘制对象时。

于 2013-11-07T04:25:55.713 回答
0

事实证明,我的手机正在将黑色背景添加到我收到的所有透明图像中,而不是在发送之前添加它的代码。

于 2013-11-07T04:51:36.253 回答