2016-07-22 63 views
1

我有这样的代码在主page.xml:NativeScript滚动的ListView与标题

<GridLayout rows="auto, *"> 

    <Label text="Title" class="title" row="0" /> 

    <ListView id="listView" items="{{ listItems }}" row="1"> 

    <ListView.itemTemplate> 
     <StackLayout> 
     <Button text="{{ name }}" tap="dd" /> 
     </StackLayout> 
    </ListView.itemTemplate> 

    </ListView> 

</GridLayout> 

当我滚动标题贴到顶部(留和不动),是否有办法使其行为正常?

+0

是滚动的标题下方的元素的休息吗?项目数量是否超过测试设备的屏幕? – zJorge

+0

是元素在标题下滚动,是是比设备屏幕更长的项目数量。 – kayne

+0

我认为这是预期的行为。添加另一组标题和列表并滚动以查看会发生什么。它应该类似于当您向下滚动Instagram Feed时看到的内容,只要显示的内容属于此作者,作者就会保持最佳状态。 – zJorge

回答

1

我发现使用清洁的解决方案:https://docs.nativescript.org/cookbook/ui/repeater

<ScrollView> 

    <StackLayout> 

    <Label text="Title" class="title" /> 

    <Repeater id="listItems" items="{{ listItems }}"> 

     <Repeater.itemTemplate> 
     <StackLayout> 
      <Button text="{{ name }}" tap="loadGuide" /> 
     </StackLayout> 
     </Repeater.itemTemplate> 

    </Repeater> 

</StackLayout> 

0

当GridLayout的行设置为auto时,这肯定是预期的行为。你想实现的是可以完成的,但需要额外的实现,例如像这样(No boring ActionBar)的第三方Android库。你可以做的是直接在你的应用中使用纯JavaScript/TypeScript实现相同的效果(通过管理ActionBar的大小),或者创建一个使用上述android库的custom NativeScript plugin

NativeScript的许多美女之一是,原生iOS和Android API的100%都可以访问,这意味着可以在{N}中实现在本机iOS或Android应用中可实现的任何内容。