如何创建类似Twitter的个人资料布局?

10

我正在尝试在React Native中创建类似Twitter的个人资料布局。虽然许多应用程序使用此模式,但我的当前JSX设置如下:

  • 标头(个人资料)
  • ViewPagerNav(自定义)
  • ViewPager
    • 带有ListView的选项卡
    • 带有ListView的选项卡

问题是只有底部的部分可以滚动。我已经看到很多React Native应用程序遇到了这个问题。有没有解决方案?

为了实现整个页面滚动,我的渲染视图应该是什么样子?

进入图像描述


你解决了这个问题吗? - Naresh
1个回答

1

实际上,在F8应用程序中有一个非常好的例子。您要查看的3个文件在此处:

https://github.com/fbsamples/f8app/blob/master/js/tabs/schedule/MyScheduleView.js https://github.com/fbsamples/f8app/blob/master/js/common/ListContainer.js https://github.com/fbsamples/f8app/blob/master/js/common/PureListView.js

如果您想在应用程序中查看它的工作原理,可以点击“我的F8”选项卡。

基本思路是通过handleScroll函数来跟踪滚动位置的ListContainer。它将handleScroll传递给所有子组件,并将该函数重命名为onScroll

PureListView会使用对象扩展运算符{...this.props}获取onScroll属性,并将其传递给ListView

这些都是为了跟踪滚动而设计的。如果您查看 MyScheduleView.js,您可以看到它的大部分实现方式。

希望这有所帮助。


起初,我看了一会儿“My F8”屏幕,认为你误解了我的问题。我的安卓设备上没有这样的行为。但是从这个视频(https://www.youtube.com/watch?v=BeSHQUto-nU)中,我可以看出iOS上有些不同寻常的事情发生了。看起来这只适用于iOS而不是安卓设备。FB的某个人懒惰了吗?我会深入挖掘并尝试理解它是如何工作的。 - Ted
1
我认为这个答案已经不再相关了?因为onScroll已经被注释掉了。https://github.com/fbsamples/f8app/blob/2fb0a87cb3854a9340a679cbdf36d02975e9b6c3/js/common/ListContainer.js#L98 - Alex Chin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接