有没有方法可以为PreferenceActivity应用自定义样式,该样式将继承自theme.sherlock.light或theme.light,并保留PreferenceDialog和AlertDialogs的深色样式?我可以很容易地从应用灯光样式中排除对话框吗?如果没有,我应该设置哪些属性,在轻主题的分隔符、活动文本、非活动文本、标题和字幕等中使用的默认颜色的参数是什么?谢谢。

最佳答案

我通过将活动主题更改为light解决了这个问题,然后我以编程方式将alert对话框的主题设置为一个内置于android风格的暗主题:

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

由于PreferenceDialog继承自Dialog,它还将此主题设置为所有PreferenceDialogs。
要更具体并向特定对话框添加样式,可以使用Android源代码dialog.java中使用的ContextThemeWrapper:
builder = new AlertDialog.Builder(new ContextThemeWrapper(this, android.R.style.Theme_DeviceDefault_Dialog))

10-04 23:01
查看更多