gpt4 book ai didi

xamarin - Xamarin Forms 中大小相同的标签

转载 作者:行者123 更新时间:2023-12-02 14:52:37 24 4
gpt4 key购买 nike

使用水平 StackLayout,我想在屏幕上显示 3 个等宽的标签。我不想使用 WidthRequest 属性,而是希望每个标签的大小与“框”中的内容居中。我希望标签根据运行的设备调整大小。所以 3 个标签,宽度相等,无论设备如何。

我知道这可以通过 Grid (Width="Auto") 来完成,但是可以通过水平对齐的 StackLayout 来完成吗?

我在想这会行得通...

<StackLayout Orientation="Horizontal" HorizontalOptions="FillAndExpand">
<Label Text="aaaa"
HorizontalOptions="FillAndExpand"
HorizontalTextAlignment="Center"
BackgroundColor="Blue" />
<Label Text="aaaaaaaaaaaa"
HorizontalOptions="FillAndExpand"
HorizontalTextAlignment="Center"
BackgroundColor="Green" />
<Label Text="aa"
HorizontalOptions="FillAndExpand"
HorizontalTextAlignment="Center"
BackgroundColor="Red" />
</StackLayout>

但这只是导致了这个......

enter image description here

最佳答案

原因:当你在 stackLayout 中添加标签时,stackLayout 不会使 subview 适合大小。

解决方案:

将标签放在网格中。引用以下代码。

<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*" />
</Grid.RowDefinitions>

<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>

<Label Grid.Row="0" Grid.Column="0" Text="aaaa" BackgroundColor="Blue" />
<Label Grid.Row="0" Grid.Column="1" Text="aaaaaaaaaaaa" BackgroundColor="Green"/>
<Label Grid.Row="0" Grid.Column="2" Text="aa" BackgroundColor="Red" />

</Grid>

关于xamarin - Xamarin Forms 中大小相同的标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54817673/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com