Я пытаюсь получить полностью настраиваемый диалог или PopupWindow без каких-либо элементов управления Android UI по умолчанию (название, фон, кнопки, что угодно).
Это вообще возможно? Я потратил часы на поиски этого, но не повезло … Кажется, это должно быть легко возможным, но я не могу его найти.
Предпочтительно, это было бы путем раздувания представления из XML, но в этот момент все, что просто работало бы, было бы хорошо.
Благодарю.
Шаги, которые я сделал:
setContentView(x, y)
где x
– ваш R.layout, а y
– R.style.popupStyle (см. Ниже). <Style name = "Theme.Dialog"> <Item name = "android: windowFrame"> @ null </ item> <Item name = "android: windowTitleStyle"> @ android: style / DialogWindowTitle </ item> <Item name = "android: windowBackground"> @ android: drawable / panel_background </ item> <Item name = "android: windowIsFloating"> true </ item> <Item name = "android: windowContentOverlay"> @ null </ item> <Item name = "android: windowAnimationStyle"> @ android: style / Animation.Dialog </ item> <Item name = "android: windowSoftInputMode"> stateUnspecified | adjustPan </ item> </ Стиль>
Вы получите несколько ошибок, просто решите их, скопировав больше материалов из официальных файлов styles.xml и themes.xml в Android. Вот содержимое моего файла styles.xml: http://pastebin.com/RRR15YYS
Это просто дает вам белое всплывающее окно, никаких границ, ничего. Начните настройку. 🙂
Спасибо mbaird за то, что поставили меня на правильный путь.
[Edit] Мне нужно было снова найти свой собственный ответ, и я потратил, по крайней мере, десять минут на поиск официальных файлов стилей и тем для Android, так что вот они для будущей ссылки: styles.xml и themes.xml .
Похоже, вы пытаетесь настроить AlertDialog . Для того, что вы хотите сделать, вам может быть лучше просто создать свой собственный класс, который расширяет Dialog , подобно тому, как вы создаете действия, создавая класс, который расширяет Activity .
Вы можете установить формат XML, вызвав setContentView () внутри метода onCreate () вашего пользовательского класса Dialog, как и в Activity.
Я сталкивался с ограничениями в отношении того, насколько вы можете настроить AlertDialogs в прошлом, и я только что реализовал свои собственные классы Dialog, чтобы получить необходимый уровень настройки.