2016-11-21 19 views
0

Ich habe eine nativescript XML-Ansicht wie folgt definiert:Nativescript Gridlayout von Scroll gewickelt

<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> 

Das Gridlayout zu groß ist, um in einem einzigen Bildschirm enthalten zu sein, so dass ich gewickelt es in einem Scroll. Dies funktioniert jedoch nicht: Ich kann die Seite nicht scrollen und daher sind die letzten UI-Elemente wie TextField und Button nicht verfügbar. Was mache ich falsch? Soll ich das ScrollView-Tag an einer anderen Stelle einfügen?

+0

Als eine Randnotiz in Ihrem GridLayout sollten Sie Spalten anstelle von Spalten verwenden –

Antwort

0

Versuchen Sie, Ihr GridLayout in einem StackLayout zu verpacken. Stellen Sie sich das Problem vor, dass es ScrollView schwer fällt, seine Scroll-Höhe zu berechnen, da GridLayout "auto" cols und rows hat.

<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> 
Verwandte Themen