2016-11-21 33 views
0

我有定义为nativescript XML视图如下:Nativescript GridLayout的包裹通过滚动型

<Page 
xmlns="http://schemas.nativescript.org/tns.xsd" 
xmlns:menu="components/menu" 
xmlns:header="components/header" 
loaded="loaded"> 
<header:header /> 
<StackLayout orientation="vertical"> 
<ScrollView> 
    <GridLayout rows="auto,auto,auto,auto" cols="auto,auto" > 
     <Image  row="0" colSpan="2" src="~/img/tap.png" tap="takePicture"/> 
     ... 
     <TextField row="2" col="1" horizontalAlignment="right" /> 
     <Button  row="3" colSpan="2" text="UPLOAD" /> 
    </GridLayout> 
</ScrollView> 
<menu:menu /> 
</StackLayout> 
</Page> 

的GridLayout的是太大而被包含在一个单一的屏幕上,所以我包裹它滚动型的内部。但是这不起作用:我无法滚动页面,因此最后的UI元素(如TextField和Button)无法访问。 我在做什么错?我应该在不同的位置插入ScrollView标签吗?

+0

作为您的GridLayout的一个附注,您应该使用列而不是cols –

回答

0

尝试将您的GridLayout包装在StackLayout中。认为问题可能是ScrollView很难计算它的滚动高度,因为GridLayout具有“自动”列和行。

<ScrollView> 
    <StackLayout> 
     <GridLayout rows="auto,auto,auto,auto" cols="auto,auto" > 
      <Image  row="0" colSpan="2" src="~/img/tap.png" tap="takePicture"/> 
      ... 
      <TextField row="2" col="1" horizontalAlignment="right" /> 
      <Button  row="3" colSpan="2" text="UPLOAD" /> 
     </GridLayout> 
    </StackLayout> 
</ScrollView>