我是做 RN 的,想问个 Android 上的问题,如果用 Scrollview 嵌套 listview,是不是 listview 就不能滑动了。。

2018-04-23 12:46:52 +08:00
 NonClockworkChen
我已经了解到 scrollview 嵌套 listview 并不是一个好的结构,可以把内容放到 headerview 中来规避一般的需求,可惜,现在的需求,是 4 个 tab-listview,规避不了。

有没有 RN 的大神能指点下。

需求是 scrollview 里有个 scrollable -tab -view (里面有个 4 个不同的 listview )
2899 次点击
所在节点    问与答
7 条回复
hotMan
2018-04-23 13:41:03 +08:00
scrollview 里面可以嵌套 listview, 但是嵌套后,有些功能不能正常使用,比如,分页等,看楼主需求,scrollable -tab -view 提出来,单独页面对应一个 ScrollView
Totato5749
2018-04-23 23:24:10 +08:00
这个需求蛮常见的 做安卓开发的肯定都遇过, 只要重写 listview 的高度计算部分就可以了,返回 listview 的全部 item 的总高度。
Totato5749
2018-04-23 23:25:09 +08:00
另外我记得也不是不能滑动,只是 listview 只会显示一行内容
NonClockworkChen
2018-04-23 23:48:04 +08:00
@Totato5749 那可能是还是 RN 自己的锅。
文档是有这么一句:Also inherits ScrollView Props, unless it is nested in another FlatList of same orientation.
大致意思应该是,相同方向,就不继承 scrollview
yurnery
2018-08-06 09:21:27 +08:00
@NonClockworkChen 找到什么办法没, 我现在也是有这种需要, 想在一个 FlatList 的 cell 里放 react-native-scrollable-tab-view , react-native-scrollable-tab-view 里的内容又是一个 FlatList
NonClockworkChen
2018-08-06 11:51:49 +08:00
@yurnery 我们最后的解决办法是基于
安卓里如果想要嵌套在 scrollview 里面的 flatlist 滑动,那么,外部的 scrollview 就需要把 scrollenable 设置 false。
然后就是,在不同的情况下,动态设置外层的 scrollEnable。 笨办法,写起来也麻烦。但是实在没辙了。
yurnery
2019-08-19 09:45:32 +08:00
@NonClockworkChen 这样处理, 不会一次性就把整个 Flatlist 全部加载完了吗? 如果有 onReachedEnd,是会一直触发这个回调, 这么常见的需求, RN 都没法很好的支持

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/449090

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX