Xamarin 如何定位文本块,使其垂直居中1/3?
我有这个XAML,我目前正在使用,但这只是一个开始,因为我被困在如何做到这一点。我希望Msg1的文本在屏幕顶部居中1/3,在屏幕底部居中2/3,如下所示:Xamarin 如何定位文本块,使其垂直居中1/3?,xamarin,xamarin.forms,xamarin.ios,xamarin.android,Xamarin,Xamarin.forms,Xamarin.ios,Xamarin.android,我有这个XAML,我目前正在使用,但这只是一个开始,因为我被困在如何做到这一点。我希望Msg1的文本在屏幕顶部居中1/3,在屏幕底部居中2/3,如下所示: ##################### <- # # # # 1/3 # # # ABC # <- # # # #
##################### <-
# #
# # 1/3
# #
# ABC # <-
# #
# #
# #
# # 2/3
# #
# #
# #
# #
##################### <-
<Grid xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:template="clr-namespace:Japanese.Templates"
x:Class="Japanese.Views.Phrases.Xaml.NoCards"
VerticalOptions="FillAndExpand" Padding="60" >
<Grid.RowDefinitions>
<RowDefinition Height="50*" />
<RowDefinition Height="50*" />
</Grid.RowDefinitions>
<Label Grid.Row="0" Text="{Binding Msg1}"
HorizontalTextAlignment="Center"
HorizontalOptions="Center"
VerticalOptions="Center" />
</Grid>
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。实际上,你是这样做的:
<Grid xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:template="clr-namespace:Japanese.Templates"
x:Class="Japanese.Views.Phrases.Xaml.NoCards"
VerticalOptions="FillAndExpand" >
<Grid.RowDefinitions>
<RowDefinition Height="1*" />
<RowDefinition Height="2*" />
</Grid.RowDefinitions>
<Label Grid.Row="0" Text="{Binding Msg1}"
XAlign="Center"
HorizontalOptions="EndAndExpand"
VerticalOptions="EndAndExpand" />
</Grid>
这很容易,实际上您可以这样做:
<Grid xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:template="clr-namespace:Japanese.Templates"
x:Class="Japanese.Views.Phrases.Xaml.NoCards"
VerticalOptions="FillAndExpand" >
<Grid.RowDefinitions>
<RowDefinition Height="1*" />
<RowDefinition Height="2*" />
</Grid.RowDefinitions>
<Label Grid.Row="0" Text="{Binding Msg1}"
XAlign="Center"
HorizontalOptions="EndAndExpand"
VerticalOptions="EndAndExpand" />
</Grid>
如@G.hakim所述或类似于下面所述更改网格定义,以便将网格划分为3个部分。首先,你可以达到你的要求
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="*" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
如@G.hakim所述或类似于下面所述更改网格定义,以便将网格划分为3个部分。首先,你可以达到你的要求
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="*" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>