如何更改 BottomBarPage 中的工具栏背景颜色
How to change Toolbar Background color in a BottomBarPage
嗨,我是 Xamarin Forms 的新手,我正在使用 BottomBarPage,现在我需要一个包含不同项目的自定义工具栏,正如您在代码中看到的那样,我成功添加了一个 ToolbarItem,我的疑问是,如何我可以更改工具栏的背景颜色吗?我尝试在 xf:BottomBarPage 中使用 x:BackgroundColor 但没有成功。有什么建议吗?
<?xml version="1.0" encoding="utf-8" ?>
<xf:BottomBarPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="MyProject.Views.StartPage"
xmlns:xf="clr-namespace:BottomBar.XamarinForms;assembly=BottomBar.XamarinForms"
xmlns:Views="clr-namespace:MyProject.Views;assembly=MyProject"
x:Name="TabMenu">
<xf:BottomBarPage.ToolbarItems x:BackgroundColor="#D60000">
<ToolbarItem Name="User" Order="Primary" Icon="home.png" Text="Item 1" Priority="0" Clicked="User_Clicked"/>
<!--<ToolbarItem Name="MenuItem2" Order="Primary" Icon="Xamarin.png" Text="Item 2" Priority="1" />-->
</xf:BottomBarPage.ToolbarItems>
<xf:BottomBarPage.Children>
<Views:MainPage
ClassId="Home"
Title="Page1"
Icon="Page1.png"
xf:BottomBarPageExtensions.TabColor="#D60000"/>
<Views:MainPage
Title="Page2"
Icon="Page2.png"
xf:BottomBarPageExtensions.TabColor="#D60000"/>
<Views:Graphs
Title="Page3"
Icon="Page3.png"
xf:BottomBarPageExtensions.TabColor="#D60000"/>
<Views:MainPage
Title="Page4"
Icon="Page4.png"
xf:BottomBarPageExtensions.TabColor="#D60000"/>
<Views:Info
Title="Page5"
Icon="Page5.png"
xf:BottomBarPageExtensions.TabColor="#D60000"/>
</xf:BottomBarPage.Children>
</xf:BottomBarPage>
蓝色条是我要更改的背景颜色
Color ToolBar
现在使用 TabbedPage,声明为:
Tabbed Page
但是顶部栏的颜色仍然是蓝色,我该如何更改呢?
Top ToolBar
正如@fabriBertani 所说,
使用他分享的文章中描述的带有底部标签规范的官方 TabbedPage 检查我在下面分享的代码
<TabbedPage
xmlns ="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:test="clr-namespace:Test;assembly=Test"
xmlns:android="clr-namespace:Xamarin.Forms.PlatformConfiguration.AndroidSpecific;assembly=Xamarin.Forms.Core"
android:TabbedPage.ToolbarPlacement="Bottom"
BarBackgroundColor="Red"
x:Class="Test.TabbedPage">
<test:MainPage Title="Page 1" Icon="alarm"/>
<test:MainPage Title="Page 2" Icon="watch"/>
</TabbedPage>
所以现在你在按钮中有一个红色的 Tabbar。
现在您需要更改 NavigationBar 的颜色为此您需要访问 NavigationPage
并更改栏颜色。如果您想设置一次,那么我会在 App.cs 中更改它,如下所示:
public App()
{
InitializeComponent();
MainPage = new NavigationPage(new MainPage())
{
BarBackgroundColor = Color.Red
};
}
考虑到@FabriBertani 给你的答案,没有什么可以补充的。
考虑到工具栏,Xamarin.Forms 不支持 iOS 工具栏,如果您想编写完全类似的东西,您可能需要自己做很多工作并且在这种情况下使用 Xamarin.iOS + Xamarin.Android 是更好的主意。
如果你想要 Xamari.Forms 没有简单的解决方案,需要高技能水平和大量时间,所以几乎没有更好的答案 - 没有人会为你做,我不确定您的技能是否符合要求的水平,即使符合要求,将精力放在这样的事情上而不是使用其他方法可能是浪费时间。
Go to your App.xaml.cs
After Initialize component in Main Page
MainPage = new NavigationPage(new Login())
{
BarBackgroundColor = Color.DarkOrange
};
这将更改您的 ToolBarItem 背景 Color.Simple!!
嗨,我是 Xamarin Forms 的新手,我正在使用 BottomBarPage,现在我需要一个包含不同项目的自定义工具栏,正如您在代码中看到的那样,我成功添加了一个 ToolbarItem,我的疑问是,如何我可以更改工具栏的背景颜色吗?我尝试在 xf:BottomBarPage 中使用 x:BackgroundColor 但没有成功。有什么建议吗?
<?xml version="1.0" encoding="utf-8" ?>
<xf:BottomBarPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="MyProject.Views.StartPage"
xmlns:xf="clr-namespace:BottomBar.XamarinForms;assembly=BottomBar.XamarinForms"
xmlns:Views="clr-namespace:MyProject.Views;assembly=MyProject"
x:Name="TabMenu">
<xf:BottomBarPage.ToolbarItems x:BackgroundColor="#D60000">
<ToolbarItem Name="User" Order="Primary" Icon="home.png" Text="Item 1" Priority="0" Clicked="User_Clicked"/>
<!--<ToolbarItem Name="MenuItem2" Order="Primary" Icon="Xamarin.png" Text="Item 2" Priority="1" />-->
</xf:BottomBarPage.ToolbarItems>
<xf:BottomBarPage.Children>
<Views:MainPage
ClassId="Home"
Title="Page1"
Icon="Page1.png"
xf:BottomBarPageExtensions.TabColor="#D60000"/>
<Views:MainPage
Title="Page2"
Icon="Page2.png"
xf:BottomBarPageExtensions.TabColor="#D60000"/>
<Views:Graphs
Title="Page3"
Icon="Page3.png"
xf:BottomBarPageExtensions.TabColor="#D60000"/>
<Views:MainPage
Title="Page4"
Icon="Page4.png"
xf:BottomBarPageExtensions.TabColor="#D60000"/>
<Views:Info
Title="Page5"
Icon="Page5.png"
xf:BottomBarPageExtensions.TabColor="#D60000"/>
</xf:BottomBarPage.Children>
</xf:BottomBarPage>
蓝色条是我要更改的背景颜色 Color ToolBar
现在使用 TabbedPage,声明为: Tabbed Page
但是顶部栏的颜色仍然是蓝色,我该如何更改呢? Top ToolBar
正如@fabriBertani 所说, 使用他分享的文章中描述的带有底部标签规范的官方 TabbedPage 检查我在下面分享的代码
<TabbedPage
xmlns ="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:test="clr-namespace:Test;assembly=Test"
xmlns:android="clr-namespace:Xamarin.Forms.PlatformConfiguration.AndroidSpecific;assembly=Xamarin.Forms.Core"
android:TabbedPage.ToolbarPlacement="Bottom"
BarBackgroundColor="Red"
x:Class="Test.TabbedPage">
<test:MainPage Title="Page 1" Icon="alarm"/>
<test:MainPage Title="Page 2" Icon="watch"/>
</TabbedPage>
所以现在你在按钮中有一个红色的 Tabbar。
现在您需要更改 NavigationBar 的颜色为此您需要访问 NavigationPage
并更改栏颜色。如果您想设置一次,那么我会在 App.cs 中更改它,如下所示:
public App()
{
InitializeComponent();
MainPage = new NavigationPage(new MainPage())
{
BarBackgroundColor = Color.Red
};
}
考虑到@FabriBertani 给你的答案,没有什么可以补充的。
考虑到工具栏,Xamarin.Forms 不支持 iOS 工具栏,如果您想编写完全类似的东西,您可能需要自己做很多工作并且在这种情况下使用 Xamarin.iOS + Xamarin.Android 是更好的主意。
如果你想要 Xamari.Forms 没有简单的解决方案,需要高技能水平和大量时间,所以几乎没有更好的答案 - 没有人会为你做,我不确定您的技能是否符合要求的水平,即使符合要求,将精力放在这样的事情上而不是使用其他方法可能是浪费时间。
Go to your App.xaml.cs After Initialize component in Main Page
MainPage = new NavigationPage(new Login())
{
BarBackgroundColor = Color.DarkOrange
};
这将更改您的 ToolBarItem 背景 Color.Simple!!