Как изменить чувствительность прокрутки ScrollView?

#javascript #android #react-native #scrollview

Вопрос:

У меня есть горизонтальный вид прокрутки с включенной подкачкой, и каждая страница представляет собой вертикальный плоский список.

Часто, когда пользователи пытаются прокрутить список вниз, происходит горизонтальная прокрутка, и они оказываются на следующей странице просмотра прокрутки.

Есть ли способ настроить чувствительность прокрутки, чтобы она срабатывала только при увеличении горизонтального перетаскивания, если это имеет смысл?

Я уже просмотрел документацию, но ничего не нашел.

 <ScrollView
    ref={swiperRef}
    horizontal={true}
    decelerationRate={'normal'}
    snapToInterval={screenWidth} 
    snapToAlignment={'center'}
    pagingEnabled={true}
    disableIntervalMomentum={true}
    >
    {categories.map((category, index) => {
        return (
            <View key={category?.code}>
               <FlatList
                  data={categories[index]}
                  renderItem={renderBox}
                  keyExtractor={(item, index) => index}
                  contentContainerStyle={styles.categoryNewsContainer}
                  onEndReached={({ distanceFromEnd }) => {
                    loadMore()
                  }}
                  onEndReachedThreshold={0.1}
                  onRefresh={() => refresh()}
                  refreshing={isRefreshing}
                />
            </View>
                )
    })}
</ScrollView>
 

Ответ №1:

У меня была аналогичная проблема, но с вертикальной прокруткой, которая была слишком чувствительной. Это было мое решение в родном Android, так что, возможно, оно могло бы помочь:

https://github.com/gavingt/upcoming-games/blob/master/app/src/main/java/com/gavinsappcreations/upcominggames/ui/detail/NestedScrollingParentScrollView.kt

Ответ №2:

Вы можете просто замедлить скорость пользователя либо «быстро»/»нормально», либо просто с плавающей точкой