2015-03-25 3 views
5

Как мне создать PopupWindow в Android на белом фоне, но все равно сохранить тень? Я пытаюсь создать что-то вроде this:Android PopupWindow: белый фон, но сохранить тень?

Objective

По умолчанию мой PopupWindow имеет темный фон. Поэтому я содержимое всплывающего окна, чтобы иметь белый фон, который дает мне this:

White content background

Который есть тень, но по-прежнему имеет черную «граница», которая на самом деле является только непокрытые части всплывающего окна фона ,

Так я пытаюсь установить фон всплывающее окно с белым «popupWindow.setBackgroundDrawable (новый ColorDrawable (Color.white))», который вызывает this:

, которая дает правильный цвет фона, но также удаляет тень.

Так что есть простой способ сохранить тень, но установите фон как белый. Есть ли что-то еще, что я должен использовать вместо PopupWindow, чтобы создать то, что я хочу? Или мне нужно использовать 9 патчей или что-то в этом роде?

+0

До API 21, да, вы должны использовать 9-патч. Начиная с API 21, всплывающие окна имеют высоту по умолчанию, которая обеспечивает тень. – alanv

ответ

1

после заданного фона, просто добавьте высоту.

popupWindow.setElevation(10); 

это будет работать после API21.