如何在工具栏跨平台更改三个按钮的颜色

How change color of three btn at toolbar crossplatform

我不明白为什么不显示带点的按钮。但是单击此区域会打开下拉菜单。

按钮上的圆点是白色的,它们正好与背景融为一体。我找到了 android 的解决方案,但我该如何针对该问题制定跨平台解决方案?

<ContentPage.ToolbarItems>
    <ToolbarItem 
        Order="Secondary"
        
        Text="Item 0"
        Priority="0"/>
    <ToolbarItem 
        Order="Secondary"
        Text="Item 1"
        Priority="1"/>
    <ToolbarItem 
        Order="Secondary"
        Text="Item 2"
        Priority="2"/>
</ContentPage.ToolbarItems>

当订单 属性 设置为次要时,行为因平台而异。在 UWP 和 Android 上,次要项目菜单显示为 三个点 ,可以点击或单击以显示垂直列表中的项目。在 iOS 上,次要项目菜单作为水平列表显示在导航栏下方。

一个简单的方法是更改​​工具栏的背景颜色。

App.xaml.cs:

 var navPage = new NavigationPage(new Page2());
        this.MainPage = navPage;

        navPage.BarBackgroundColor = Color.Blue;

更新:

Android:

更改样式中 3 个点的颜色:

  <style name="MainTheme" parent="MainTheme.Base">  
<item name="android:textColorSecondary">#54FF9F</item> 
</style>

在Toolbar.xml中使用androidx.appcompat.widget.Toolbar:

  <?xml version="1.0" encoding="utf-8"?>
 <androidx.appcompat.widget.Toolbar
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto" 
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/white"
android:theme="@style/MainTheme"
android:popupTheme="@style/MainTheme.Base" 
 />

iOS:

就像我在之前的回复中所说的那样,ios 上的次要项目菜单以水平列表的形式出现在导航栏下方。

您可以改用 IOSToolbarExtensions

NuGet:https://www.nuget.org/packages/IOSToolbarExtensions/

安装它并将下面的代码添加到AssemblyInfo.cs:

[assembly: ExportRenderer(typeof(ContentPage), typeof(IOSToolbarExtensions.iOS.Renderers.IOSToolbarExtensionsContentPageRenderer), Priority = short.MaxValue)]

在文件style.xml中找到MainTheme并添加

<item name="android:textColorSecondary">#592bca</item> 

然后在文件Toolbar.axml中添加或更改

android:theme="@style/MainTheme"
android:popupTheme="@style/MainTheme.Base"