在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个标签放在前面,尺寸看起来没问题。
我在这里做错了什么?
答案 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>