我有一个标签设置为相对定位和自动尺寸,如下所示
<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中做到这一点?目前,当设备旋转到横向时,字体不会调整大小。
答案 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搜索并发现这篇文章的人:)