NativeScript StackLayout让子元素占用剩余宽度

时间:2017-08-02 17:12:53

标签: nativescript

在NativeScript StackLayout中,我有三个元素A,B和C.我希望中间元素B占用所有可用空间。这就是我想要的:

| ABBBBBBBBBBBBC |

我正在尝试使用这个简化的代码。 A和C是具有固定宽度的标签,B是进度条。

<StackLayout orientation="horizontal" verticalAlignment="center">
    <Label text="1" width="50"></Label>
    <Progress value="50" maxValue="100"></Progress>
    <Label text="1" width="50"></Label>
</StackLayout>

进度条会填满StackLayout的剩余空间,不会为最后一个标签留出空间。屏幕上仅绘制第一个标签和进度条本身,如下所示:

| ABBBBBBBBBBBBB | C

因此C元素被绘制在屏幕之外。

如果我将2个标签放在前面,尺寸看起来没问题。

我在这里做错了什么?

1 个答案:

答案 0 :(得分:3)

使用GridLayout

<GridLayout columns="50, *, 50">
    <Label text="1" col="0"></Label>
    <Progress value="50" maxValue="100" col="1"></Progress>
    <Label text="1" col="2"></Label>
</GridLayout>