如何在 Xamarin 中调整按钮的大小

Posted

技术标签:

【中文标题】如何在 Xamarin 中调整按钮的大小【英文标题】:How to resize a button in Xamarin 【发布时间】:2016-09-29 12:01:50 【问题描述】:

我正在使用 Xamarin.Forms。我试过这段代码,但没有奏效;如何调整按钮的大小?

<ContentView.Content>
  <StackLayout>
    <Button Text="1" WidthRequest="50"></Button>
    <Button Text="2" WidthRequest="50"></Button>
  </StackLayout>
</ContentView.Content>

谢谢。

【问题讨论】:

【参考方案1】:
<StackLayout >
    <Button Text="1" WidthRequest="50" 
            HorizontalOptions="Center"></Button>
    <Button Text="2" WidthRequest="50" 
            HorizontalOptions="Center"></Button>
</StackLayout>

【讨论】:

在我的情况下,我有 HorizontalOptions="Fill" 并在我的代码隐藏文件中设置 WidthRequest 属性没有任何效果。我将它设置为中心(或开始或结束)并且它起作用了。【参考方案2】:
  <StackLayout>
    <!--I am wider but shorter-->
    <Button Text="1" WidthRequest="100" HeightRequest="50"></Button>
    <!--I am narrower but longer-->
    <Button Text="2" WidthRequest="50" HeightRequest="100"></Button>
    <!--I fill the whole width. See also VerticalOptions-->
    <Button Text="3" HorizontalOptions="FillAndExpand"></Button>
  </StackLayout>

【讨论】:

【参考方案3】:

您可以使用 Horizo​​ntalOptions 属性使宽度或高度尽可能大以包含其中的元素。

<Button  HorizontalOptions="Center"  Text="Retry" />

【讨论】:

【参考方案4】:

只需调整父视图的大小,例如,如果它在 StackLayout 中,它将与父视图大小相同。

   <Grid HeightRequest="120" WidthRequest="120" HorizontalOptions="Center">
            <Button Text="Hello!" BackgroundColor="Red"/>
        </Grid>

它将显示为 120 x 120,

因为,Button 的 Default Horizo​​ntalOptions 是 Fill,VerticalOptions 是 Start。但是某些控件(例如按钮)会忽略高度或宽度请求,并且更喜欢填充父级。同一布局效果按钮中的其他元素。只需调整按钮的父级大小并离开它。

【讨论】:

【参考方案5】:

你能试试下面提到的方法吗:

<StackPanel> 
   <Button Content = "Button1" Height = "30" Width = "80" Foreground = "Blue" FontSize = "12" Margin = "10"/>
   <Button Content = "Button2" Height = "30" Width = "80" Foreground = "Blue" FontSize = "12" Margin = "10"/>
   <Button Content = "Button3" Height = "30" Width = "80" Foreground = "Blue" FontSize = "12" Margin = "10"/> 
</StackPanel> 

【讨论】:

测试你的代码。在 Xamarin Forms 中,您需要设置 HeightRequestWidthRequest。尝试设置 HeightWidth 将无法编译:这些是只读属性。

以上是关于如何在 Xamarin 中调整按钮的大小的主要内容,如果未能解决你的问题,请参考以下文章

如何调整 xamarin.forms 中的图像大小?

如何调整 xamarin.forms 中的图像大小?

如何在 Xamarin ios 中获取导航栏后退按钮的大小?

如何Xamarin.Forms调整水平的ListView的大小

如何将ImageView放在Xamarin.Android应用程序中,根据设备屏幕大小自行调整大小?

Xamarin.Forms android - 调整控件大小以考虑可访问性设置