Xamarin表单中大小相等的标签

时间:2019-02-21 23:09:57

标签: xamarin xamarin.forms

对于水平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

1 个答案:

答案 0 :(得分:4)

原因::在stackLayout中添加标签时,stackLayout不会使子视图适合其大小。

解决方案:

将标签放入网格中。请参考以下代码。

Storage Legacy Object Reader