Как предотвратить повторное срабатывание React Native Scrollview? - PullRequest
0 голосов
/ 31 октября 2019

Примечание: я пробовал решения, предложенные в этом посте и в этом посте , но ни один из них не работал. Это новая проблема.

В моем приложении React Native у меня есть три вертикально сложенных ящика, каждый из которых содержит дочерний ящик одинаковой фиксированной высоты. На следующих изображениях дочерние блоки имеют красный / зеленый / синий цвета, а оставшееся пространство в каждом родительском поле имеет белый цвет. Я хочу сделать следующее:

1) Когда экран достаточно высок, чтобы осталось место, я хочу, чтобы родительские поля заполняли экран по вертикали. В этом случае в каждом родительском блоке есть оставшиеся пробелы.

enter image description here

2) Когда экран настолько низок, что дочерние блоки переполняются, я хочучтобы можно было прокрутить, чтобы увидеть все дочерние поля.

enter image description here

Мой код:

  <View
      style={{
        flex: 1,
      }}
    >
      <ScrollView
        contentContainerStyle={{
          flex: 1,
        }}
      >
        <View
          style={{
            flexGrow: 1,
          }}
        >
          <View
            style={{
              height: 155,
              backgroundColor: 'red',
            }}
          />
        </View>
        <View
          style={{
            flexGrow: 1
          }}
        >
          <View
            style={{
              height: 155,
              backgroundColor: 'green',
            }}
          />
        </View>
        <View
          style={{
            flexGrow: 1
          }}
        >
          <View
            style={{
              height: 155,
              backgroundColor: 'blue',
            }}
          />
        </View>
      </ScrollView>
    </View>

Проблема

В сценарии 2, когда я прокручиваю до конца и отпускаю, ScrollView возвращается к верхней части экрана. Я снова попробовал решения в этом посте и в этом посте , но ни один из них не работал.

Что я хочу знать:

Кто-нибудь знает, почему это происходит? Я хорошо понимаю, как работает ScrollView, но я этого не понимаю.

...