react-native中ListView和ScrollView

react-nativeListViewScrollView中的一个问题

1、最简单的布局:只有一个ListView

如果整个页面只有一个ListView的话,那么由于ListView本身带有滚动效果,所以当加载的数据超过页面显示的范围时,可以通过上下滑动来查看所有的item

因此这种情况下,不需要添加ScrollView

2、其它布局A+ListView

这种情况下,如果布局A定义在ListView的前面,那么当布局A所占的比例较大,或者ListView加载的数据较多时,都会导致ListView显示不完全。同样,由于ListView自身可以滚动,因此仍然可以通过上下滚动来查看ListView的所有item

能不能实现仍然是让它们看起来像是一个页面那样子滚动?

3、其它布局ListView+B

这种情况下,假设布局B定义在ListView的后面,那么就会出现两种情况:

  1. ListView加载的数据不多,可以完全显示ListView的每一项,那么如果后面还有足够剩余的空间的话,布局B能正常显示;

  2. ListView加载的数据加多,那么就会导致留给布局B的空间不足,或者根本就没有,布局B将会显示不完全或者完全不显示。

而不管怎么,ListView本身的内容,都可以通过滑动来查看。

能不能实现仍然是让它们看起来像是一个页面那样子滚动?

各位大神,怎么解决这样的问题啊?

阅读 6.8k
4 个回答

没人回答,只能自问自答了~~~

昨天晚上仔细看了一下文档,尝试了一下发现用了renderHeaderrenderFooter基本可以实现A+ListViewListView+B布局。

还有没有其它的更好的方法呢?

欢迎交流~~~

新手上路,请多包涵

有个蛋疼的需求 整个外层是scrollView 然后 头部是几个view 下面是viewPage 而且viewpage 里面一定有一个child 是list 还不能滑动的时候有卡顿。。。

还有比renderHeader和renderFooter更好的方法?
不存在的。。。。

clipboard.png

我的更恶心:
上面一个View展示个人信息,中间一个Tab组件,Tab组件传入一个FlatList
只能滚动FlatList,就是上半部分的页面不会滚动。试过最外层用ScrollView包起来,不行,因为FlatList的高度不够,不足以把ScrollView撑起来。

想实现:让它们看起来像是一个页面那样子滚动。
目前我是这么解决的:监听FlatList的onScoll,再利用Animated动画,动态设置上半部分Viewtop样式值。但看起来不流畅。
诸位有解决办法的话,麻烦@我,感谢。

P.S. 我单独提了个问题,在这里:https://segmentfault.com/q/10...

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题