如何在工具栏跨平台更改三个按钮的颜色
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"
我不明白为什么不显示带点的按钮。但是单击此区域会打开下拉菜单。
按钮上的圆点是白色的,它们正好与背景融为一体。我找到了 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"