我正在尝试使用Material Design Light.DarkActionBar主题自定义App Theme,但actionBar中的文本颜色为黑色。我尝试使用textColorPrimary将颜色更改为白色,但是当我这样做时,我的应用中的所有文本都变为白色。
这是我的价值观/风格:
<resources>
<!-- Inherit from the light Material Theme -->
<style name="MissaoCaronaTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="colorPrimaryDark">@color/amareloSecundario</item>
<!-- cor da barra -->
<item name="colorPrimary">@color/amareloPrimario</item>
<!-- Cor dos controles -->
<item name="colorAccent">@color/amareloPrimario</item>
</style>
</resources>
这是我的值-v21 / styles:
<resources>
<style name="MissaoCaronaTheme" parent="@android:style/Theme.Material.Light.DarkActionBar">
<item name="android:colorPrimaryDark">@color/amareloSecundario</item>
<!-- cor da barra -->
<item name="android:colorPrimary">@color/amareloPrimario</item>
<!-- Cor dos controles -->
<item name="android:colorAccent">@color/amareloPrimario</item>
</style>
</resources>
这是我的androidmanifest:
<application android:label="@string/ApplicationName" android:theme="@style/MissaoCaronaTheme"></application>
这是我的布局文件:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:local="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="40dp"
local:MvxBind="Text Hello" />
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="40dp"
local:MvxBind="Text Hello" />
</LinearLayout>
这是我的活动:
[Activity(Label = "Usuário")]
public class UsuarioEditView : MvxActivity<UsuarioViewModel>
{
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
SetContentView(Resource.Layout.UsuarioEditView);
}
}
答案 0 :(得分:1)
请初始化您的主题活动标签部分遵循代码。
[Activity(Label = "Usuário", Theme = "@style/MissaoCaronaTheme", Icon = "@drawable/icon")]
答案 1 :(得分:0)
维尼修斯,
您可以为actionBar中的文本创建特定样式,并仅将其用于此文本,而不是更改textColorPrimary。
例如:
在styles.xml中:
<item name="colorTextActionBar">@color/branco</item>
在这种情况下,还要编辑color.xml文件:
<item name="branco" type="color">#FFFFFFFF</item>
答案 2 :(得分:0)
因此,当您更改textColorPrimary时,它将影响整个应用主题,这意味着与此样式关联的所有组件都将受到影响。这就是为什么你的所有文字都变成了白色的原因。 因此,您可以根据自己的选择添加所选颜色,而不是更改常用颜色。 您还需要确保在colors.xml文件中添加相应的颜色。
在styles.xml中:
<item name:"nameOfYourChoice">@color/colorName</item>
在colors.xml:
<color name="colorName">#colorValue</color>
确保正确编辑xml文件。
答案 3 :(得分:0)
我发现了问题。问题是来自MvvmCross框架的MvxActivity。我不知道为什么,但是当我在材料设计中使用MvxActivity时,ActionBar的文本总是黑色的,当我在AppCompat主题中使用MvxAppCompatActivity时,ActioBar标题是白色的。