有人可以帮我理解Nativescript中使用的网格布局,特别是GridLayout吗? (星)跟随汽车的意义究竟是什么意思?
ModelState.Clear();
然后我遇到了这个更令人困惑的例子:
<GridLayout rows="*, auto">
我发现Nativescript的文档不太清楚。
答案 0 :(得分:4)
文档说明如下:
表示用逗号分隔的行高的字符串值。行 高度可以是
absolute number
,auto
或*
。一个号码 表示绝对行高,auto表示行高 最高的孩子,*使行占据所有可用的垂直 空间。
我认为首先要区分auto
和*
很重要,因为它们会做一些不同的事情。当您使用auto
作为值时,GridLayout
将获取具有最高高度值的子元素的高度,并使其成为行的高度。因此,如果您有一个GridLayout
,其中一行包含多个列,一个高度为20,一个为30,另一个为40,则该行的高度为40,该行中的列将与该高度匹配。
如果您使用*
代替auto
,则GridLayout
将使用所有可用空间作为该行的高度。因此,如果GridLayout
的高度为100,则行的高度也为100.当您在星号前放置一个数字时,基本上是分开的,所以如果你有rows="2*, *"
,第一行将具有GridLayout
高度的三分之二,第二行将具有高度的三分之一。
我不确定rows
属性的概念是否清晰,但为了澄清您是通过添加逗号来定义多行的高度,例如:<GridLayout rows="*, auto, auto, auto, 2*">
包含五个高度行。在确定了auto
高度的三列高度后,第一行和最后一行将使用剩余空格。
NativeScript文档包含一些图像来展示它的外观,可以找到here。