3

我是 NativeScript 的新手,我正在尝试创建我的第一个应用程序。我创建了以下使用接口 XML,它看起来不像我预期的那样。

图像按原样出现在屏幕顶部,但随后所有标签都出现在其下方的行中,彼此堆叠。

<Page xmlns="http://www.nativescript.org/tns.xsd" loaded="onPageLoaded">
    <GridLayout columns="auto, *" rows="auto, *">
        <Image row="0" col="0" colSpan="2" src="{{ imageUrl }}" /> 

        <Label row="1" col="0" text="row1-col0" cssClass="" />
        <Label row="1" col="1" text="{{ value1 }}" cssClass="" />

        <Label row="2" col="0" text="row2-col0" cssClass="" />
        <Label row="2" col="1" text="{{ value2 }}" cssClass="" />

        <Label row="3" col="0" text="row3-col0" cssClass="" />
        <Label row="3" col="1" text="{{ value3 }}" cssClass="" />

        <Label row="4" col="0" text="row4-col0" cssClass="" />
        <Label row="4" col="1" text="{{ value4 }}" cssClass="" />
    </GridLayout>
</Page>

另外,我找不到在哪里<GridLayout> columnsrows记录在案,所以我怀疑这可能是一个问题,因为其余的对我来说似乎还可以。

我究竟做错了什么?任何帮助,将不胜感激。谢谢!

4

1 回答 1

6

您需要为 rows 属性中的每一行指定单位/值

<Page xmlns="http://www.nativescript.org/tns.xsd" loaded="onPageLoaded">
    <GridLayout columns="auto, *" rows="auto, auto, auto, auto, auto">
        <Image row="0" col="0" colSpan="2" src="{{ imageUrl }}" /> 

        <Label row="1" col="0" text="row1-col0" cssClass="" />
        <Label row="1" col="1" text="{{ value1 }}" cssClass="" />

        <Label row="2" col="0" text="row2-col0" cssClass="" />
        <Label row="2" col="1" text="{{ value2 }}" cssClass="" />

        <Label row="3" col="0" text="row3-col0" cssClass="" />
        <Label row="3" col="1" text="{{ value3 }}" cssClass="" />

        <Label row="4" col="0" text="row4-col0" cssClass="" />
        <Label row="4" col="1" text="{{ value4 }}" cssClass="" />
    </GridLayout>
</Page>

有三个可能的值:

auto:该值表示应该不受约束地计算内容。所以它将根据其内容设置行的高度

star:带 * 的行将等分可用高度。

像素:数值为 50、100 等的行会将行的高度设置为那么多像素。

为了理解布局,我遇到了这个有用的链接:http: //developer.telerik.com/featured/demystifying-nativescript-layouts/

于 2015-07-25T15:20:06.903 回答