在物理设备上测试时,工具栏标题保持黑色

时间:2018-08-10 17:23:18

标签: java android xml xamarin.android android-toolbar

我正在通过Xamarin开发一个Android应用程序,但我确实无法解决一个问题。我将工具栏设置为在工具栏上使用带有白色文本的Theme.Material.Light.DarkActionBar。工具栏还包含向上箭头和一个动作图标,均为白色。

当我在模拟器上调试应用程序时,它可以正常工作,并且颜色正确。 当我在运行Android 5.0的旧Note3上调试时,它也可以正常工作。 当我在运行8.0的S7Edge或运行7.1的J7上进行调试时,工具栏标题将保持黑色,无论进行任何更改。向上箭头和图标保持白色! 我不明白哪里出了问题以及行为为何不同。

styles.xml (这里我尝试过强制白色)

<resources>
    <style name="HomeTheme" parent="android:Theme.Material.Light.DarkActionBar">
         <item name="android:windowNoTitle">true</item>
         <item name="android:windowActionBar">false</item>
         <item name="android:colorPrimary">@color/primary</item>
         <item name="android:colorPrimaryDark">@color/primary_dark</item>
         <item name="android:textColor">@color/primary_text</item>
    </style>
    <style name="ToolbarTheme" parent="android:ThemeOverlay.Material.Dark.ActionBar">
         <item name="android:textColorPrimary">#ffffff</item>
         <item name="android:textColorSecondary">#ffffff</item>
    </style>
</resources>

除了primary_text是黑色之外,所有颜色都是蓝色的变种。工具栏蓝色始终正确显示。

toolbar.axml

<?xml version="1.0" encoding="utf-8" ?>
<Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:minHeight="?android:attr/actionBarSize"
    android:background="?android:attr/colorPrimary"
    android:theme="@style/ToolbarTheme"/>

工具栏包含在布局中

<include
    android:id="@+id/toolbar"
    layout="@layout/toolbar" />

它在OnCreate方法中被调用

SetContentView(Resource.Layout.mylayout);
var toolbar = FindViewById<Toolbar>(Resource.Id.toolbar);
SetActionBar(toolbar);
ActionBar.Title = "Title";
ActionBar.SetDisplayHomeAsUpEnabled(true);
ActionBar.SetHomeButtonEnabled(true);

HomeTheme应用于整个应用程序(写在清单中)。 我也尝试从AppCompat主题而不是Material派生,但结果是相同的。该应用程序针对API27进行了编译,最低要求为API21。我已经尝试过模拟器运行所有受支持的API映像,而没有任何问题。

1 个答案:

答案 0 :(得分:0)

首先,我建议您开始使用appcompat库以实现向后兼容性以及它在您的应用程序check here中必须具备的许多其他重要内容

然后开始使用appcompat工具栏,例如this

然后关注this

如有疑问或问题,请随时回复