标签: react-native-scrollview

检测ScrollView已到达终点

我有一个Text长文本ScrollView,我想检测用户何时滚动到文本的末尾,所以我可以启用一个按钮.

我一直在调试事件中的事件对象,onScroll但似乎没有任何价值我可以使用.

react-native react-native-scrollview

31
推荐指数
7
解决办法
3万
查看次数

向上拖动ScrollView,然后在React Native中继续滚动

我想要什么(GIF)

这是关于我想要实现的(降低质量的)GIF。

在此处输入图片说明

我想要什么(文字)

我有一个scrollview位于屏幕一半的。

我想要的是将其scrollview向上拖动,然后在到达某个位置时将其发送drag touch eventscrollview自身,以便它可以继续滚动。

我的尝试

  • 将滚动视图全屏显示在前景中,并在其顶部添加半屏填充contentContainerStyle。效果很好,但是我无法单击它后面的视图。有没有一种方法可以单击滚动视图的空白区域
  • 我还尝试检测滚动位置,以便相应地向上移动视图

    <ScrollView onScroll={event => moveScrollViewUpIfNeeded(event)}>
        ...
    </ScrollView>
    
    Run Code Online (Sandbox Code Playgroud)

    但是当我在iOS模拟器上进行测试时无法正常工作。事件甚至没有触发。React Native Docs指出onScroll需要scrollEventThrottle工作。但是,scrollEventThrottle在iOS上可用。就我而言,我也想在Android上使用它。
    而且,如果我成功实现了这一点,那么我将面临另一个UI问题:向上拖动ScrollView时,如何在视图尚未到达所需位置时阻止它滚动?

因此,能否请您给我一些实现此目标的提示:)?

谢谢,

mobile-application reactjs react-native react-native-scrollview

22
推荐指数
1
解决办法
1034
查看次数

水平scrollview捕捉反应原生

嗨,我正在努力实现scrollview像下面的gif链接中心

检查这个Gif

但无法这样做.以下是我的反应本机代码来实现这一点.

或者有没有任何方法可以滚动到像android这样的scrollview元素的特定索引?

任何帮助,将不胜感激.提前致谢

<ScrollView
  style={[styles.imgContainer,{backgroundColor:colorBg,paddingLeft:20}]}
  automaticallyAdjustInsets={false}
  horizontal={true}
  pagingEnabled={true}
  scrollEnabled={true}
  decelerationRate={0}
  snapToAlignment='center'
  snapToInterval={DEVICE_WIDTH-100}
  scrollEventThrottle={16}
  onScroll={(event) => {
    var contentOffsetX=event.nativeEvent.contentOffset.x;
    var contentOffsetY=event.nativeEvent.contentOffset.y;

    var  cellWidth = (DEVICE_WIDTH-100).toFixed(2);
    var cellHeight=(DEVICE_HEIGHT-200).toFixed(2);

    var  cellIndex = Math.floor(contentOffsetX/ cellWidth);

    // Round to the next cell if the scrolling will stop over halfway to the next cell.
    if ((contentOffsetX- (Math.floor(contentOffsetX / cellWidth) * cellWidth)) > cellWidth) {
      cellIndex++;
    }

    // Adjust stopping point to exact beginning of cell.
    contentOffsetX = cellIndex * cellWidth; …
Run Code Online (Sandbox Code Playgroud)

horizontalscrollview ios react-native react-native-scrollview

21
推荐指数
2
解决办法
2万
查看次数

如何在RN平面列表中获取当前可见的索引

我有一个水平的平面列表,其中每个项目是width:300 我想要做的是获取当前可见项目的索引.

<FlatList 
            onScroll={(e) => this.handleScroll(e)} 
            horizontal={true}
            data={this.state.data}
            renderItem...
Run Code Online (Sandbox Code Playgroud)

试过这个:

handleScroll(event) {
    let index = Math.ceil(
      event.nativeEvent.contentOffset.x / 300
    );
Run Code Online (Sandbox Code Playgroud)

这样的事情:

handleScroll(event) {
  let contentOffset = event.nativeEvent.contentOffset;
  let index = Math.floor(contentOffset.x / 300);
Run Code Online (Sandbox Code Playgroud)

但没有什么是准确的我总是得到一个索引或一个索引下来.
我做错了什么以及如何在平面列表中获得正确的当前索引?

例如,我在列表中列出第8项,但我得到索引9或10.
在此输入图像描述

javascript react-native react-native-scrollview react-native-flatlist

20
推荐指数
6
解决办法
1万
查看次数

在react-native listview/scrollview中查找滚动方向

有没有办法找出react-native的listview/scrollview组件的滚动方向?

机iOS成分似乎能够通过计算来做到这一点从偏移scrollViewWillBeginDraggingscrollViewDidScroll,但似乎这些不绑定.

react-native react-native-listview react-native-scrollview

17
推荐指数
2
解决办法
2万
查看次数

react-native - 如何在scrollview中滚动Webview for android?

我想在ScrollView中使用WebView作为我的本机应用程序.但是如果我这样做,我就无法滚动我的webview,除非我在scrollview上禁用滚动.但是,我需要scrollview和webview中的滚动.有关如何完成此任务的任何建议或解决方案?

webview react-native react-native-scrollview react-native-android

16
推荐指数
2
解决办法
6485
查看次数

React Native - ScrollView中ListView的分页?

ListView在单个ScrollView组件中有3 个组件,如下所示:

<ScrollView>
  <Header />
  <ListView onEndReached={() => alert('load more 1')}/>
  <ListView onEndReached={() => alert('load more 2')}/>
  <ListView onEndReached={() => alert('load more 3')}/>
  <Footer />
</ScrollView>
Run Code Online (Sandbox Code Playgroud)

Header组件有一些共同的内容,还有3个选项卡,触发显示相应的ListView

问题是任何ListViewonEndReached={() => alert('load more 1')}从未运行警报,所以我向下滚动,撞上列表视图结束时,我不能加载更多.删除包装ScrollView和警报运行,但常见的Header不滚动,因为我们刚刚删除了包装ScrollView.标题需要使用listview滚动,这就是为什么我包装了需要滚动的所有内容ScrollView.

重要提示: 我真的不能用ListViewrenderHeader={this.header},对于这种情况.因为,即使Header将滚动,它会重新描绘的共同Header和3个选项卡每个ListView每次ListView渲染,而不是一次.因此Header,每次每次重新渲染都ListView不会为应用程序削减它.

寻找这个问题的解决方案,其中Header带有listviews 的滚动和onEndReached触发可见的滚动ListView.

react-native react-native-listview react-native-scrollview

15
推荐指数
1
解决办法
4887
查看次数

使用flex 1的ScrollView使其不可滚动

我试图运行柔性ScrollView,并且只要有滚动型flex: 1滚动内不起作用.这里是世博会小提琴(您可以运行此代码并使用) https://snack.expo.io/SySerKNp-

请注意,如果你flex: 1ScrollView它中删除它确实让滚动,但然后你失去了弹性力量(能够让红色容器向下推高上方框(ScrollView))所以我必须有一个flex.

ps - 我只在android上工作,我还没有在iPhone上测试过(我不介意那里的结果)

知道我错过了什么吗?为什么ScrollView当它有一个flex: 1?谢谢 !

flexbox react-native react-native-scrollview react-native-android

15
推荐指数
3
解决办法
7914
查看次数

水平滚动ListView列的某些部分

我想在React Native中水平滚动ListView的某些部分.

如何修复第一列的位置并使其他列可水平滚动?

react-native react-native-listview react-native-scrollview

14
推荐指数
1
解决办法
1423
查看次数

React native ScrollView在条件上禁用一个方向

是否可以只向一个方向滚动?我有一个功能,可以检测用户滚动的方向.

但我无法弄清楚如何设置一个标志,如果用户没有回答问题,它将不允许他向右滚动?

谢谢

react-native react-native-scrollview react-native-android react-native-ios

13
推荐指数
1
解决办法
628
查看次数