我正在尝试在根页面中创建工具栏项。 工具栏项目arent仅显示在启动页面中,如果我导航到新页面,则它们在那里。
片段xaml
<?xml version="1.0" encoding="utf-8" ?>
<local:CoolContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:d="http://xamarin.com/schemas/2014/forms/design"
xmlns:local="clr-namespace:FBAndroid"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
EnableBackButtonOverride="False"
mc:Ignorable="d"
Title="Logowanie"
ControlTemplate="{StaticResource Key=PageWithGradient}"
x:Class="FBAndroid.Pages.LoginPage">
<NavigationPage.TitleView>
<Label Text="Logowanie" FontSize="24" />
</NavigationPage.TitleView>
<ContentPage.ToolbarItems>
<ToolbarItem x:Name="tbi_options" Text="Ustawienia" Priority="0" Order="Default" Clicked="Tbi_options_Clicked" />
<ToolbarItem x:Name="tbi_exit" Text="Zakończ" Priority="1" Order="Default" Clicked="tbi_cofnij_Clicked"/>
</ContentPage.ToolbarItems>
在App()
中 MainPage = new NavigationPage(new LoginPage())
{
BarBackgroundColor = Color.FromHex("#AD2728"),
BarTextColor = Color.Black
};
还有MainActivity片段,因为如果我删除SetSupportActionBar(toolbar)
,则会在我的根页面上显示工具栏项目。
namespace FBAndroid.Droid
{
[Activity(Label = "FBAndroid", Icon = "@mipmap/icon", Theme = "@style/MainTheme", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)]
public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity
{
protected override void OnCreate(Bundle savedInstanceState)
{
TabLayoutResource = Resource.Layout.Tabbar;
ToolbarResource = Resource.Layout.Toolbar;
base.OnCreate(savedInstanceState);
Xamarin.Essentials.Platform.Init(this, savedInstanceState);
global::Xamarin.Forms.Forms.Init(this, savedInstanceState);
CheckAppPermissions();
LoadApplication(new App());
Android.Support.V7.Widget.Toolbar toolbar = this.FindViewById<Android.Support.V7.Widget.Toolbar>(Resource.Id.toolbar);
if (toolbar != null)
{
SetSupportActionBar(toolbar);
}
}
不需要移除SetSupportActionBar(我使用它来替代导航后退按钮。来自theconfuzedsourcecode的解决方案)如何显示,并且显示了工具栏项目。