XAML Xamarin中有没有一种方法可以指定多个LayoutFlags?

9

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

<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。我想我还需要为Label指定一个LayoutFlag,即SizeProportional和PositionProportional。但如何在XAML中实现呢?当前,当设备旋转到横向方向时,字体不会自动调整大小。

1个回答

18

如您在这里所读的: Xamarin文档上的AbsoluteLayout

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

因此,在您的情况下,没有任何意义,因为您想使用All值(同时使用位置和大小),但我必须像这样使用它,并且它完全有效:

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

希望这篇文章可以帮助到像我一样通过谷歌搜索而找到这篇文章的人 :)

3
请注意,Visual Studio 会显示它是正确的,但您必须自己输入。使用自动完成功能将只替换现有的标志。 - Richard

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接