4

有没有一种方法可以为 PreferenceActivity 应用自定义样式,该样式将从 Theme.Sherlock.Light 或 Theme.Light 继承,并为 preferenceDialog 和 AlertDialogs 保留深色样式?我可以轻松地从应用灯光样式中排除对话框吗?如果没有,我应该设置哪些属性,以及在浅色主题中分隔线、文本活动、非活动、标题和副标题等中使用的默认颜色的参数是什么?谢谢。

4

1 回答 1

4

我通过将活动主题更改为浅色来解决它,然后我以编程方式将警报对话框的主题设置为深色,内置 android 样式:

this.setTheme(android.R.style.Theme_Holo_Dialog);

由于 PreferenceDialog 继承自 Dialog,因此它也将此主题设置为所有 PreferenceDialogs。更具体地说,并为特定对话框添加样式,您可以使用 ContextThemeWrapper,如 android 源代码中的 Dialog.java 中使用的那样:

builder = new AlertDialog.Builder(new ContextThemeWrapper(this, android.R.style.Theme_DeviceDefault_Dialog))
于 2012-10-09T03:50:11.487 回答