Android操作栏文字自定义颜色

时间:2016-09-05 03:14:01

标签: java android xml progressdialog android-theme

我在styles.xml中使用了一个主题,如下所示:

<style name="AppTheme" parent="Theme.AppCompat.Light">
    <item name="colorPrimary">@color/md_blue_700</item>
    <item name="android:colorAccent">@color/md_blue_900</item>
    <item name="android:colorPrimaryDark">@color/md_blue_900</item>
    <item name="android:windowBackground">@color/md_white_1000</item>
    <item name="android:colorControlNormal">@color/md_blue_700</item>
    <item name="android:colorControlActivated">@color/md_blue_700</item>
    <item name="android:colorControlHighlight">@color/md_blue_700</item>
    <item name="android:textColorPrimary">@color/md_white_1000</item>
</style>

我在AndroidManifest.xml中声明为android:theme:

 <activity
        android:name=".LoginActivity"
        android:theme="@style/AppTheme"
        android:label="@string/activity_login_actionbar" />

问题在下图中以红色突出显示。

因为我正在设置

<item name="android:textColorPrimary">@color/md_white_1000</item>

白色进度条中的文本也显示为白色且不可见。如果我将其更改为灰色,操作栏中的文本也会变为灰色,这是我不想要的。

我已经尝试过为进度对话框创建一个单独的主题,但是当我这样做时,我会丢失对话框的圆角等等。

这是我创建微调器的java代码:

progressDialog = new ProgressDialog(this);
progressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
progressDialog.setTitle("Attempting Sign In");
progressDialog.setMessage("Please wait...");
progressDialog.setCancelable(false);

我该如何解决这个问题呢?

所有答案都赞赏!

enter image description here

1 个答案:

答案 0 :(得分:2)

您可以在主题样式中使用Theme.AppCompat.Light.DarkActionBar并删除<item name="android:textColorPrimary">@color/md_white_1000</item>,然后标题将变为白色。您可以查看Light and Dark themes here

之间的比较
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <item name="colorPrimary">@color/md_blue_700</item>
    <item name="android:colorAccent">@color/md_blue_900</item>
    <item name="android:colorPrimaryDark">@color/md_blue_900</item>
    <item name="android:windowBackground">@color/md_white_1000</item>
    <item name="android:colorControlNormal">@color/md_blue_700</item>
    <item name="android:colorControlActivated">@color/md_blue_700</item>
    <item name="android:colorControlHighlight">@color/md_blue_700</item>
</style>
相关问题