【问题标题】:Understanding GridLayout rows in Nativescript了解 Nativescript 中的 GridLayout 行
【发布时间】:2018-02-25 16:55:35
【问题描述】:

谁能帮我理解 Nativescript 中使用的网格布局,尤其是 GridLayout? auto 后面的 (star) 究竟是什么意思?

<GridLayout rows="*, auto">

然后我遇到了这个更令人困惑的例子:

<GridLayout rows="*, auto, auto, auto, 2*">

我发现 Nativescript 的文档不太清楚。

【问题讨论】:

    标签: nativescript grid-layout


    【解决方案1】:

    文档说明如下:

    表示行高的字符串值,用逗号分隔。排 高度可以是absolute numberauto*。一个号码 表示绝对行高,auto 使该行与它的一样高 最高的孩子,并且 * 使该行占据所有可用的垂直 空间。

    我认为首先区分auto* 很重要,因为它们的作用不同。当您使用auto 作为值时,GridLayout 将获取具有最高高度值的子元素的高度并将其设为行的高度。因此,如果您有一个GridLayout,其中一行包含多列,一列高度为 20,一列高度为 30,另一列高度为 40,则该行的高度将为 40,并且该行中的列将匹配该高度。

    如果您使用* 而不是auto,则GridLayout 将使用所有可用空间作为该行的高度。所以如果你的GridLayout的高度是100,那么行的高度也会是100。当你在星号前面放一个数字时,你基本上是在除法,所以如果你有rows="2*, *",第一行就会高度为GridLayout 的三分之二,第二行的高度为三分之一。

    我不确定rows 属性的概念是否清楚,但为了澄清您是通过添加逗号来定义多行的高度,例如:&lt;GridLayout rows="*, auto, auto, auto, 2*"&gt; 包含五行的高度。在确定了auto高度的三列的高度后,第一行和最后一行将使用剩余空间。

    NativeScript 文档包含一些图片来展示它的外观,可以在 here 找到。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-15
      • 2016-10-16
      相关资源
      最近更新 更多