9

PopupWindow を使用しました。この 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 ピクセルのビットマップを使用するのは少し間違っているようです。1 x 1 ピクセルの代わりに、空の BitmapDrawable を実際に使用する別の方法はありますか?

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 の 1 つには、間にマージンのないいくつかの画像しかないので、透明な背景を使用しました。

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

もう 1 つの場合は、とにかく白い背景を使用したかったので、以下を使用しました。

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