Android 操作栏文本自定义颜色
Android Action Bar Text Custom Color
我在 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);
我该如何解决这个问题?
感谢所有回答!
您可以在主题样式中使用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>
我在 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);
我该如何解决这个问题?
感谢所有回答!
您可以在主题样式中使用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>