我正在使用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