有没有办法在XAML Xamarin中指定多个LayoutFlags?

时间:2017-02-20 20:11:33

标签: xaml layout xamarin size flags

我有一个标签设置为相对定位和自动尺寸,如下所示

<Style TargetType="Label">
    <Setter Property="BackgroundColor" Value="Transparent" />
    //Something like below?            
    <Setter Property="AbsoluteLayout.LayoutFlags" Value="PositionProportional | SizeProportional" />
</Style>

....

<Label Text="0" AbsoluteLayout.LayoutBounds="0.5, 0.00499999999999998, AutoSize, AutoSize"/>

有没有办法在XAML中指定多个LayoutFlags?

当我在具有更高分辨率的设备上运行代码时,标签的相对位置是正确的,但标签的大小(字体)不会增加,尽管它设置为AutoSize。我想我还需要为SizeProportional和PositionProportional指定一个LayoutFlag。但是如何在XAML中做到这一点?目前,当设备旋转到横向时,字体不会调整大小。

1 个答案:

答案 0 :(得分:10)

你可以在这里阅读: AbsoluteLayout on Xamarin Documentation

  

标志也在布局中的视图声明中指定   使用AbsoluteLayout.LayoutFlags属性。请注意,标志可以是   使用逗号分隔列表在XAML中组合。

因此,在您的情况下,没有意义,因为您要使用All值(同时使用Positionning和Sizing)。 但我不得不使用这样的东西,它的工作正常:

<StackLayout AbsoluteLayout.LayoutBounds="0,1,1,100"
                 AbsoluteLayout.LayoutFlags="XProportional,YProportional,WidthProportional">
</StackLayout>

希望它会帮助那些用Google搜索并发现这篇文章的人:)