我正在使用Canvas.drawBitmap()来渲染一个PNG文件到我创建的自定义视图(创建我自己的自定义按钮)。除了PNG在photoshop中有一个透明的背景,一切都工作正常,但它在我的android布局中似乎不是透明的。布局是一个listview元素。Canvas.drawBitmap()不显示PNG透明度
我创建的图像:
`BitmapFactory.Options opt = new BitmapFactory.Options();
opt.inPreferredConfig = Config.ARGB_8888;
this.image = BitmapFactory.decodeResource(context.getResources(), imageResId, opt);`
我渲染图像用:
`protected void onDraw(Canvas canvas)
{
canvas.drawColor(Color.TRANSPARENT);
canvas.drawBitmap(image, WIDTH_PADDING/2, HEIGHT_PADDING/2, null);
}`
目前WIDTH_PADDING和HEIGHT_PADDING都是0,但我不认为这是相关的。
PNG本身是在Photoshop中创建的。我只是做了新文件 - >透明背景 - >并画了一个红色的椭圆形,然后保存为PNG .. PNG显示与白色,我期望它是透明的。
Photoshop文件 photoshop file http://www.supercars.net/bb/redovalbutton.png
Android设备上查看 photoshop file http://www.supercars.net/bb/myview.png
我把它叫做在我的xml:
com.busanbar.busanbardev.pmchat.PMCommentResendButton
android:id="@+id/resendButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:focusable="true"
android:focusableInTouchMode="true"
android:layout_weight="1"
我怎样才能使白色变成透明,所以我可以看到灰色的在我的列表视图容器中的背景纹理?
看看http://stackoverflow.com/questions/5118894/set-alpha-of-bitmap-image – jsimpson 2012-03-07 16:05:30
你有没有得到这个问题的解决方案?我尝试绘制到画布上时遇到同样的问题。 – 2012-11-27 20:39:30