MSh*_*hah 2 xaml xamarin xamarin.forms
我的问题是:
我的xaml代码:
<FlexLayout Wrap="Wrap" AlignItems="Start" Direction="Row" JustifyContent="SpaceAround" HorizontalOptions="StartAndExpand">
<Image Source="icon.png"/>
<Image Source="icon.png"/>
<Image Source="icon.png"/>
<Image Source="icon.png"/>
<Image Source="icon.png"/>
<Image Source="icon.png"/>
<Image Source="icon.png"/>
<Image Source="icon.png"/>
<Image Source="icon.png"/>
<Image Source="icon.png"/>
<Image Source="icon.png"/>
<Image Source="icon.png"/>
<Image Source="icon.png"/>
<Image Source="icon.png"/>
</FlexLayout>
Run Code Online (Sandbox Code Playgroud)
小智 7
我遇到了这个问题,最终我找到了原因。
它看起来像这样的原因是 flex 布局将在默认情况下将自身扩展到最大值,就像 Grid 所做的那样,而不管子项如何。
间距基于分配所有子项后剩余的区域。您在 verizontally 上留下了很多区域,因此行之间的空间变大了。如果您使用 Xamarin.UWP 或 Xamarin.WPF 并调整应用程序窗口的大小,您可以看到行之间的空间正在发生变化。
因此,HorizontalOptions="StartAndExpand"是不必要的。
将VerticalOptions="Start"添加到 flex 布局(或者有时如果您将 flex 布局包装在另一个自动展开控件中,例如ScrollView,然后将其添加到父ScrollView)并且问题解决了,至少在我的情况下。
说到第三行,我只是添加了JustifyContent="Start" AlignItems="Start"。
编辑: 将 Margin 属性应用于每个项目,以获取项目之间的空间。
归档时间: |
|
查看次数: |
5011 次 |
最近记录: |