Прокрутка Просмотр внутреннего вида не работает

Здесь я пытаюсь простой код, но представление прокрутки не работает, если хранится в другом представлении. Код выглядит так:

  return(
  <View>
    <Toolbar title={this.props.title}>
    </Toolbar>

    <ScrollView>

      <HomeScreenTop />
      <HomeScreenBottom navigator={navigator}/>

      </ScrollView>

  </View>
 );

Но если представление прокрутки сохранено как родительское представление, это работает отлично. Код как ниже:

  return(
  <ScrollView>
    <Toolbar title={this.props.title}>
    </Toolbar>

      <HomeScreenTop />
      <HomeScreenBottom navigator={navigator}/>

  </ScrollView>
 );

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

И следующий вопрос: должно ли представление прокрутки быть родительским представлением, чтобы оно вернулось к работе?

Ответ 1

вы должны обернуть панель инструментов таким образом:

<View><Toolbar/></View>

Оберните те компоненты, которые вы хотите прокрутить внутри scrollview, как:

<ScrollView>your expected components...</ScrollView>

И предоставить представление flex в корневом каталоге как:

<View style={{flex:1}}>

Наконец, ваш код будет работать так, как вы ожидали.

Ответ 2

Используйте свойство flexGrow в стиле, flex не работал у меня.

 <ScrollView contentContainerStyle={{ flexGrow: 1 }}>
    ...
</ScrollView>

Ответ 3

Верх <View> должен иметь стиль flex:1, а также <ScrollView> тоже

Ответ 4

Если вы используете <Form> из собственной базы и хотите прокрутить, используйте KeyboardAwareScrollView

<KeyboardAwaareScrollView enableOnAndroid={true}>
.
.

</KeyboardAwareScrollView>

это будет работать на Android