首先,如果我不遵守任何 SO 规则,我想道歉,因为这是我的第一个问题。
我想要完成的是在我的页面中有一个方形的gridLayout。该行为应该等同于拥有一个带有stretch="aspectFit" 的元素。
如果建议的解决方案可以让我强制执行任何给定的纵横比而不仅仅是一个正方形,那将是一个很好的加分,因为它将允许我在未来解决多种情况。或者,如果它可以应用于任何 Layout 元素,那也很好。
该解决方案可以随心所欲,并且可以以任何您需要的方式嵌套 GridLayout 来完成此操作。
我已经尝试过像这样破解它:
<GridLayout rows="*,auto,*" columns="*,auto,*" backgroundColor="green">
<Image row="1" col="1" src="~/Images/1px-black.png" stretch="aspectFit" width="100%"></Image>
<StackLayout row="1" col="1" orientation="vertical" backgroundColor="lightgray">
<Label text="Label 1" width="100%" height="25%" backgroundColor="red"></Label>
<Label text="Label 2" width="100%" height="25%" backgroundColor="green"></Label>
<Label text="Label 3" width="100%" height="25%" backgroundColor="blue"></Label>
<Label text="Label 4" width="100%" height="25%" backgroundColor="yellow"></Label>
</StackLayout>
</GridLayout>
视觉上它似乎工作,但 GridLayout 的内容没有适当地填充它
PS:我刚刚注意到在我选择的示例中,我试图使正方形的布局元素是嵌套的 StackLayout,但这是相同的想法。我需要一种使嵌套布局元素平方的方法。