Прокрутка Просмотр внутреннего вида не работает
Здесь я пытаюсь простой код, но представление прокрутки не работает, если хранится в другом представлении. Код выглядит так:
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