Xamarin.Forms 标签页
Xamarin.Forms TabbedPage
我在这个项目中遇到了一个小问题。这是我的标签页声明:
<?xml version="1.0" encoding="utf-8" ?>
<TabbedPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:local="clr-namespace:JacksCurrencyConverter;assembly=JacksCurrencyConverter"
x:Class="JacksCurrencyConverter.StartPage"
x:Name="Children"
HeightRequest="10"
WidthRequest="10">
<TabbedPage.Children>
<local:MainPage Icon="currency.png" Title="Exchange"/>
<local:FavouritesPage Icon="favourites2.png" Title="Favourites"/>
<local:MainPage Icon="statistics2.png" Title="Info"/>
</TabbedPage.Children>
</TabbedPage>
那么这就是它在 iOS 和 Android 中的样子:
iOS:
Android:
如何减少 Android 标签页中显示的空白蓝色 space?
蓝色space减少:
抱歉,我需要至少 10 个信誉才能 post 张图片。
添加水平和垂直选项,这应该可以修复顶部空白 space。
<TabbedPage>
<ContentPage Title="Exchange"
HorizontalOptions="StartAndExpand"
VerticalOptions="Center" Padding="0">
<local:MainPage Icon="currency.png" Title="Exchange"/>
</ContentPage>
<ContentPage Title="Favourites"
HorizontalOptions="StartAndExpand"
VerticalOptions="Center" Padding="0">
<local:FavouritesPage Icon="favourites2.png" Title="Favourites"/>
</ContentPage>
<ContentPage Title="Info"
HorizontalOptions="StartAndExpand"
VerticalOptions="Center" Padding="0">
<local:MainPage Icon="statistics2.png" Title="Info"/>
</ContentPage>
</TabbedPage>
你得到这个 space 的原因是你有一个导航页面包裹在你的正常内容页面上
这样做会删除您的 space:
Mainpage= new StartPage();
您可以将 NavigationPage.HasNavigationBar="False"
添加到 XAML 中的 TabbedPage 标签。
那么您的代码应该如下所示:
<TabbedPage
xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:local="clr-namespace:JacksCurrencyConverter;assembly=JacksCurrencyConverter"
x:Class="JacksCurrencyConverter.StartPage"
x:Name="Children"
HeightRequest="10" WidthRequest="10"
NavigationPage.HasNavigationBar="False">
...
另一种方法是在页面的构造函数或 OnAppearing 函数中调用 NavigationPage.SetHasNavigationBar(this, false);
。
我在这个项目中遇到了一个小问题。这是我的标签页声明:
<?xml version="1.0" encoding="utf-8" ?>
<TabbedPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:local="clr-namespace:JacksCurrencyConverter;assembly=JacksCurrencyConverter"
x:Class="JacksCurrencyConverter.StartPage"
x:Name="Children"
HeightRequest="10"
WidthRequest="10">
<TabbedPage.Children>
<local:MainPage Icon="currency.png" Title="Exchange"/>
<local:FavouritesPage Icon="favourites2.png" Title="Favourites"/>
<local:MainPage Icon="statistics2.png" Title="Info"/>
</TabbedPage.Children>
</TabbedPage>
那么这就是它在 iOS 和 Android 中的样子:
iOS:
Android:
如何减少 Android 标签页中显示的空白蓝色 space?
蓝色space减少:
抱歉,我需要至少 10 个信誉才能 post 张图片。
添加水平和垂直选项,这应该可以修复顶部空白 space。
<TabbedPage>
<ContentPage Title="Exchange"
HorizontalOptions="StartAndExpand"
VerticalOptions="Center" Padding="0">
<local:MainPage Icon="currency.png" Title="Exchange"/>
</ContentPage>
<ContentPage Title="Favourites"
HorizontalOptions="StartAndExpand"
VerticalOptions="Center" Padding="0">
<local:FavouritesPage Icon="favourites2.png" Title="Favourites"/>
</ContentPage>
<ContentPage Title="Info"
HorizontalOptions="StartAndExpand"
VerticalOptions="Center" Padding="0">
<local:MainPage Icon="statistics2.png" Title="Info"/>
</ContentPage>
</TabbedPage>
你得到这个 space 的原因是你有一个导航页面包裹在你的正常内容页面上
这样做会删除您的 space:
Mainpage= new StartPage();
您可以将 NavigationPage.HasNavigationBar="False"
添加到 XAML 中的 TabbedPage 标签。
那么您的代码应该如下所示:
<TabbedPage
xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:local="clr-namespace:JacksCurrencyConverter;assembly=JacksCurrencyConverter"
x:Class="JacksCurrencyConverter.StartPage"
x:Name="Children"
HeightRequest="10" WidthRequest="10"
NavigationPage.HasNavigationBar="False">
...
另一种方法是在页面的构造函数或 OnAppearing 函数中调用 NavigationPage.SetHasNavigationBar(this, false);
。