Ответ 1
Шаги, которые я сделал:
- Создайте класс, расширяющий Dialog.
- В onCreate вызовите
setContentView(x, y)
сx
как ваш R.layout иy
, являющийся R.style.popupStyle(см. ниже). - В ваших res/values /style.xml вам необходимо переопределить стиль DialogWindow по умолчанию. Я попробовал просто создать стиль, в котором этот был его родителем, но это все еще не очистило все значения по умолчанию. Поэтому я проверил дерево Android git и получил стиль по умолчанию и просто скопировал его. Это одно:
<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>
Вы получите несколько ошибок, просто решите их, скопировав больше материалов из официальных файлов styles.xml и themes.xml в Android. Здесь содержимое моего файла styles.xml: http://pastebin.com/RRR15YYS
Это просто дает вам белое всплывающее окно, никаких границ, ничего. Начните настройку.:)
Благодаря mbaird для того, чтобы поставить меня на правильный путь.
[edit] Мне нужно было снова найти свой собственный ответ, и я потратил, по крайней мере, десять минут на поиск официальных файлов стилей и тем для Android, так что вот они, для справок в будущем: styles.xml и themes.xml.