Android-новый BitmapDrawable устаревший; альтернативный Bitmap.createBitmap должен иметь w / h> 0
я использовал всплывающее окно. С этой 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 на 1 пикселей?
1 ответов
ОК, вместо
myPopupWindow.setBackgroundDrawable(new BitmapDrawable());
или
myPopupWindow.setBackgroundDrawable(new BitmapDrawable(
getApplicationContext().getResources(),
Bitmap.createBitmap(1, 1, Bitmap.Config.ARGB_8888)
));
Я просто использую цвет фона (new ColorDrawable(android.graphics.Color color)
), который я хочу установить в всплывающее окно. Например, у одного из моих всплывающих окон просто было несколько изображений без полей между ними, поэтому я использовал прозрачный фон для него:
myPopupWindow.setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
и для другого я хотел использовать белый фон в любом случае, поэтому я использовал:
myPopupWindow.setBackgroundDrawable(new ColorDrawable(Color.WHITE));