相关疑难解决方法(0)

我需要覆盖哪些主题属性才能更改对话框的蓝色突出显示颜色?

我有一个名为"greenhighlight"的主题 - 这个主题是使用Android Action Bar Style Generator生成的,并且继承自默认的ActionBarSherlock主题.除了将ActionBar底部的突出显示从蓝色更改为绿色外,该主题不执行任何操作.

为了主题我的所有活动,我只是这样做:

<application android:theme="@style/Theme.greenhighlight"...
Run Code Online (Sandbox Code Playgroud)

这非常适合活动(请注意ActionBar底部的绿色突出显示):

主题Android活动

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

默认主题Android列表对话框

默认主题Android进度对话框

我的"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.xmlthemes.xml(它注意到"R.style引用,但是没有很好地记录并且没有完整地描述样式") - 但是那里在Theme.Dialog上定义了很多样式,我不确定我需要覆盖哪些样式才能获得我想要的更改.

我需要覆盖哪些属性才能使我的对话框具有绿色标题文本,标题下方的绿色高亮条以及选中列表项的绿色复选标记?

android android-theme

11
推荐指数
1
解决办法
1万
查看次数

标签 统计

android ×1

android-theme ×1