您的位置:首页 > 移动开发 > Android开发

Android - new BitmapDrawable deprecated 创建一个空白的drawable

2014-12-08 11:22 183 查看
创建一个空白的drawable

myPopupWindow.setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT));

I've used a PopupWindow. With this PopupWindow I set the BackgroundDrawable to an empty BitmapDrawable.

When I use the following code it gives a deprecated warning:
[code]myPopupWindow.setBackgroundDrawable(new BitmapDrawable());


So I changed it to:
[code]myPopupWindow.setBackgroundDrawable(new BitmapDrawable(
    getApplicationContext().getResources(),
    Bitmap.createBitmap(0, 0, Bitmap.Config.ARGB_8888)
));


This gave me an error that a Bitmap must have a width and height bigger than 0.

Right now I use:
[code]myPopupWindow.setBackgroundDrawable(new BitmapDrawable(
    getApplicationContext().getResources(),
    Bitmap.createBitmap(1, 1, Bitmap.Config.ARGB_8888)
));


And it works. But it just seems a bit wrong to use a 1x1 pixel Bitmap instead of a completely empty one like I want to. Is there another way to actually use an empty BitmapDrawable, instead of one that is 1 by 1 pixels?

2down
voteaccepted
Ok, instead of
[code]myPopupWindow.setBackgroundDrawable(new BitmapDrawable());


OR
[code]myPopupWindow.setBackgroundDrawable(new BitmapDrawable(
    getApplicationContext().getResources(),
    Bitmap.createBitmap(1, 1, Bitmap.Config.ARGB_8888)
));


I just use a background-color that I want to set to the PopupWindow. So for example, one of my PopupWindows just had a few Images without margins in between them, so I just used a Transparent background for it:
[code]myPopupWindow.setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT));


And for another one I wanted to use a white background anyway, so I've used:
[code]myPopupWindow.setBackgroundDrawable(new ColorDrawable(android.graphics.Color.WHITE));


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: