如何在iPhone上实现填充屏幕的四个间隔按钮,并且比填充屏幕一半的iPhone更大?

时间:2017-08-01 21:35:01

标签: c# xamarin xamarin.forms

我想有四个这样的按钮:

<Grid x:Name="buttonGrid" Grid.Row="3" Grid.Column="0" HorizontalOptions="FillAndExpand" VerticalOptions="Center" Padding="20, 0">
    <Button x:Name="zeroButton" Text="0" HeightRequest="60" BackgroundColor="#2D7BF7" HorizontalOptions="FillAndExpand" VerticalOptions="StartAndExpand"/>
    <Button x:Name="oneButton" Text="1" HeightRequest="60" BackgroundColor="#2D7BF7" HorizontalOptions="FillAndExpand" VerticalOptions="StartAndExpand"/>
    <Button x:Name="twoButton" Text="2" HeightRequest="60" BackgroundColor="#2D7BF7" HorizontalOptions="FillAndExpand" VerticalOptions="StartAndExpand"/>
    <Button x:Name="fiveButton" Text="5" HeightRequest="60" BackgroundColor="#2D7BF7" HorizontalOptions="FillAndExpand" VerticalOptions="StartAndExpand"/>
</Grid>

在iPhone或小型手机上,我希望这些可以填充90%的屏幕宽度。但是在更大的屏幕上,我希望按钮只能填充50%的屏幕宽度。

有人能告诉我如何做到这一点吗?

1 个答案:

答案 0 :(得分:10)

解释

如果您需要创建引用app\MailContentPage.Width属性的布局,最好的方法是使用ContentPage.Height

如果您尝试直接引用RelativeLayoutContentPage.Width属性,您会发现Xamarin.Forms返回ContentPage.Height。这是因为-1是Xamarin.Forms在尚未实例化控件时使用的默认值。

-1使用RelativeLayout动态引用网页的FuncHeight属性,并返回Width的真实值<{1}}实例化后的Height属性。

代码

Width

平板电脑屏幕截图

enter image description here

手机屏幕截图

enter image description here