我有一个名为"greenhighlight"的主题 - 这个主题是使用Android Action Bar Style Generator生成的,并且继承自默认的ActionBarSherlock主题.除了将ActionBar底部的突出显示从蓝色更改为绿色外,该主题不执行任何操作.
为了主题我的所有活动,我只是这样做:
<application android:theme="@style/Theme.greenhighlight"...
Run Code Online (Sandbox Code Playgroud)
这非常适合活动(请注意ActionBar底部的绿色突出显示):

但是,我难以将对话框与我的活动相匹配:


我的"greenhighlight_Dialog"主题定义为:
<style name="greenhighlight_Dialog" parent="@style/Theme.Sherlock.Dialog">
<item name="android:progressBarStyleHorizontal">
@style/greenhighlight_ProgressBar
</item>
</style>
Run Code Online (Sandbox Code Playgroud)
我将继承默认的Sherlock对话框主题,并使用我生成的"greenhighlight"主题定义的进度条样式覆盖进度条 - 您可以在上面的屏幕截图中看到进度条是正确的绿色阴影.
要使用主题,我运行以下代码:
ContextThemeWrapper ctw =
new ContextThemeWrapper(this, R.style.greenhighlight_Dialog);
AlertDialog.Builder builder = new AlertDialog.Builder(ctw);
...
ProgressDialog pd = new ProgressDialog(this, R.style.greenhighlight_Dialog);
...
Run Code Online (Sandbox Code Playgroud)
我的问题是我不知道我需要覆盖哪些属性.我一直在寻找Styles和Themes doco 推荐的styles.xml和themes.xml(它注意到"R.style引用,但是没有很好地记录并且没有完整地描述样式") - 但是那里在Theme.Dialog上定义了很多样式,我不确定我需要覆盖哪些样式才能获得我想要的更改.
我需要覆盖哪些属性才能使我的对话框具有绿色标题文本,标题下方的绿色高亮条以及选中列表项的绿色复选标记?