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

标签 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 应用于整个应用程序(它写在 list 中)。 我还尝试从 AppCompat 主题而不是 Material 派生,但结果是相同的。该应用程序是针对 API27 编译的,最低要求是 API21。我已经尝试过运行所有受支持的 API 镜像的模拟器,没有任何问题。

最佳答案

首先,我建议您开始使用 appcompat 库来实现向后兼容性,并且它是您的应用程序中必须具备的许多其他重要功能 check here

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

然后关注this

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

关于java - 在物理设备上测试时工具栏标题保持黑色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51791339/

相关文章:

Android:GPS监听器获取缓存的位置数据

android - 网站在现代 Android 浏览器中以不同方式呈现是否很常见?

.net - 在 .NET 中构建 XML 文档的最佳方法是什么?

c# - ASP.NET MVC4 Web API MediaTypeFormatter Converter 将 XElement 转换为 JSON

java - 如何在 Android 中将 TableRow 宽度设置为最大?

java - LayoutWeights 无法正确缩放元素

java - 频繁更新时带有游标加载器的 RecyclerView 速度太慢

java - 为两个 JTextArea 设置事件监听器

java - Google 应用程序引擎数据存储区事务提交抛出 InterruptedException

java - 亚马逊 API 提交订单