我正在使用Canvas.drawBitmap()将png文件渲染到我创建的自定义视图中(创建我自己的自定义按钮)。一切都工作正常,除了PNG在photoshop中有透明背景,但它在我的Android布局中看起来并不透明。布局是listview元素。
我用:
创建图像 `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显示为White,我希望它是透明的。
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"
如何让白色透明,以便在listview容器中看到灰色背景纹理?
答案 0 :(得分:0)
我用android.graphics.Canvas.Canvas(Bitmap bitmap)做同样的事情
Bitmap b = BitmapFactory.decodeResource(con.getResources(), R.drawable.name_of_png);
Canvas canvas = new Canvas(b);
希望这能解决您的问题。