Я пытаюсь получить абсолютно пользовательское Диалоговое окно или 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> </style>
Вы получите несколько ошибок, просто устраните их, скопировав дополнительные данные из официальных файлов Android styles.xml и themes.xml. Вот содержимое моего файла styles.xml: http://pastebin.com/RRR15YYS
Это просто дает вам белое всплывающее окно, без границ, ничего. Начать настройку. :)
Спасибо mbaird за то, что направил меня на правильный путь.
[edit] Мне нужно было снова найти свой ответ, и я потратил не менее десяти минут на поиск официальных файлов стилей / тем Android, так что вот они, на будущее: styles.xml и themes.xml .
Похоже, вы действительно пытаетесь настроить AlertDialog . Для того, что вы хотите сделать, вам может быть лучше просто создать свой собственный класс, расширяющий Dialog , аналогично тому, как вы создаете действия, написав класс, расширяющий Activity .
Вы можете установить XML-макет, вызвав setContentView () внутри метода onCreate () вашего пользовательского класса Dialog, как и в Activity.
Я сталкивался с ограничениями в том, насколько вы можете настраивать AlertDialogs в прошлом, и я только что реализовал свои собственные классы Dialog, чтобы получить необходимый уровень настройки.