9

我使用了弹出窗口。使用此 PopupWindow,我将 BackgroundDrawable 设置为空的 BitmapDrawable。

当我使用以下代码时,它会给出一个弃用的警告:

myPopupWindow.setBackgroundDrawable(new BitmapDrawable());

所以我把它改成:

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

这给了我一个错误,即位图的宽度和高度必须大于 0。

现在我使用:

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

它有效。但是使用 1x1 像素位图而不是像我想要的完全空的位图似乎有点错误。是否有另一种方法可以实际使用空的 BitmapDrawable,而不是 1 x 1 像素?

4

1 回答 1

24

好的,而不是

myPopupWindow.setBackgroundDrawable(new BitmapDrawable());

或者

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

我只是使用new ColorDrawable(android.graphics.Color color)要设置到 PopupWindow 的背景颜色 ( )。因此,例如,我的一个 PopupWindows 中只有一些图像,它们之间没有边距,所以我为它使用了透明背景:

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

对于另一个我想使用白色背景,所以我使用了:

myPopupWindow.setBackgroundDrawable(new ColorDrawable(Color.WHITE));
于 2014-07-28T14:45:37.043 回答