Android - new BitmapDrawable deprecated; alternative Bitmap.createBitmap has to have w/h > 0

android, bitmap, bitmapdrawable, deprecated, warnings

Solution

Ok, instead of

myPopupWindow.setBackgroundDrawable(new BitmapDrawable());

OR

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

I just use a background-color (`new ColorDrawable(android.graphics.Color 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 used a Transparent background for it:

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

And for another one I wanted to use a white background anyway, so I've used:

myPopupWindow.setBackgroundDrawable(new ColorDrawable(Color.WHITE));

Problem

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: ``` myPopupWindow.setBackgroundDrawable(new BitmapDrawable()); ``` So I changed it to: ``` 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: ``` 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?

Original source