我正在尝试获得一个完全自定义的 Dialog 或 PopupWindow,没有任何默认的 Android UI 控件(标题、背景、按钮等)。
这可能吗?我花了几个小时寻找这个,但没有运气......看起来这应该很容易,但我找不到它。
最好是通过从 XML 扩展视图来实现,但在这一点上,任何可以正常工作的东西都会很好。
谢谢。
我正在尝试获得一个完全自定义的 Dialog 或 PopupWindow,没有任何默认的 Android UI 控件(标题、背景、按钮等)。
这可能吗?我花了几个小时寻找这个,但没有运气......看起来这应该很容易,但我找不到它。
最好是通过从 XML 扩展视图来实现,但在这一点上,任何可以正常工作的东西都会很好。
谢谢。
我采取的步骤:
setContentView(x, y)
R.style.popupStyle (见下文)。x
y
<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">真</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 样式.xml 和主题.xml 文件中复制更多内容来解决它们。这是我的 styles.xml 文件的内容:http: //pastebin.com/RRR15YYS
那只是给你一个白色的弹出窗口,没有边框,什么都没有。开始定制。:)
感谢 mbaird 让我走上正轨。
[编辑] 我需要再次查找自己的答案,并且我花了至少十分钟搜索官方的 android 样式/主题文件,所以这里它们是,以供将来参考: styles.xml和theme.xml。
听起来您正在尝试真正自定义AlertDialog。对于您想要做的事情,您最好创建自己的扩展Dialog的类,类似于通过编写扩展Activity的类来创建活动的方式。
您可以通过在自定义 Dialog 类的 onCreate() 方法中调用 setContentView() 来设置布局 XML,就像在 Activity 中一样。
过去,我在自定义 AlertDialogs 方面遇到了限制,我刚刚实现了自己的 Dialog 类以获得所需的自定义级别。