AlertDialog的轻主题?

use*_*701 9 android

我正在创建一个AlertDialog.我正在使用setView()来设置自定义视图.这将在对话框中启用"暗"主题(灰色背景,并需要白色文本).

有没有办法设置对话框使用'轻'主题?它看起来更好(白色背景,深色文字).

谢谢

Mit*_*kum 4

我采取的步骤:

  • 创建一个扩展 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>
Run Code Online (Sandbox Code Playgroud)

您会遇到一些错误,只需从官方 Android styles.xml 和 theme.xml 文件中复制更多内容即可解决它们。

供参考:styles.xmlthemes.xml