android - AlertDialog 的浅色主题?

标签 android

我正在创建一个 AlertDialog。我正在使用 setView() 来设置自定义 View 。这会在对话框中启用“深色”主题(灰色背景,需要白色文本)。

有没有办法将对话框设置为使用“浅色”主题?它看起来更好(白色背景,深色文本)。

谢谢

最佳答案

我采取的步骤:

  • 创建一个扩展 Dialog 的类。
  • 在 onCreate 中调用 setContentView(x, y) x 为 你的 R.layout 和 y being R.style.popupStyle(见下文)。
  • 在你的 res/values/style.xml 中,你 需要覆盖默认值 对话框窗口样式。我试过 制作一种具有这种风格的风格 它的 parent ,但那仍然没有 清除所有默认值。所以我检查了 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>

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

供引用:styles.xmlthemes.xml .

关于android - AlertDialog 的浅色主题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3507016/

相关文章:

java - 为什么setProgressBackgroundColor无法解决错误?

android - 从另一个 Activity 更新 Activity

android - 使用 Android Espresso 检查 TextView 的文本是否完全显示

java - 如何将字符串从 json 转换为 float 组?

javascript - 无法使用 imageSource 模块在 Nativescript/Javascript 中保存 URL 中的图像

android - 使用外部库: No resource identifier found for attribute

java - 将数据传递给另一个 Activity

android - Android DatePicker日期格式可以修改吗?

android - 如何定期更新 WebView 中的 HTML5 位置(使用 FINE_ACCURACY)

android - 如何在android中的可扩展 ListView 的 TextView 中设置可点击链接?