Xamarin.Forms AbsoluteLayout 子项具有绝对高度和比例宽度



我正在使用 AbsoluteLayout 来渲染我的视图,本质上我有一个地图填充视图和一个与 AbsoluteLayout 底部对齐的按钮

AbsoluteLayout (fill)
|--View (fill)
|--Button (bottom, full-width, 200 height)

这是我使用比例值来定义布局的代码:

<AbsoluteLayout 
     VerticalOptions="FillAndExpand"
     HorizontalOptions="FillAndExpand">
            <maps:Map 
                AbsoluteLayout.LayoutBounds="0,0,1,1"
                AbsoluteLayout.LayoutFlags="All" /> 
             <Button
                AbsoluteLayout.LayoutBounds="0.5,1,0.5,0.15"
                AbsoluteLayout.LayoutFlags="All" />
             // ... other controls ... //
</AbsoluteLayout>

它工作得很好,除了我的按钮有一个动态高度(与父高度成比例(。只要我有其他样式,我就想保持静态,每当高度是动态的时,它就会变得丑陋(例如 BorderRadius (。

我尝试为按钮使用绝对值,但现在我必须以绝对值定义高度和宽度,

而我只想用绝对值定义高度,宽度继续占用整个父宽度跨度。

在 AbsoluteLayout 中,我们可以通过设置 AbsoluteLayout 的 LayoutFlagsAs 来确定哪四个属性是比例属性或绝对属性(静态(。因此,正如@DavidS提到的,您可以通过以下方式将按钮的高度设置为静态(例如 50(:

<AbsoluteLayout 
   VerticalOptions="FillAndExpand"
   HorizontalOptions="FillAndExpand">
            <maps:Map 
                AbsoluteLayout.LayoutBounds="0,0,1,1"
                AbsoluteLayout.LayoutFlags="All" /> 
             <Button
                AbsoluteLayout.LayoutBounds="0.5,1,0.5,50"
                AbsoluteLayout.LayoutFlags="PositionProportional,WidthPropor‌​tional" />
             // ... other controls ... //
</AbsoluteLayout>

相关内容

  • 没有找到相关文章

最新更新