ここでは簡単なコードを試していますが、別のビュー内に保持するとスクロールビューが機能しません。コードは次のとおりです。
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>
);
ここでの問題は、ツールバーを上下にスクロールさせたくないので、ツールバーの下のコンテンツを動かしたいだけです。どうすればそれを達成できますか?
そして次の質問:スクロールビューは、作業に戻るために親ビューである必要がありますか?
次のようにビューでツールバーをラップする必要があります。
<View><Toolbar/></View>
Scrollview内でスクロールするコンポーネントを次のようにラップします。
<ScrollView>your expected components...</ScrollView>
また、ルートビューにフレックスを提供します。
<View style={{flex:1}}>
最後に、コードは期待どおりに実行されます。
スタイルでプロパティflexGrowを使用すると、flexは機能しませんでした。
<ScrollView contentContainerStyle={{ flexGrow: 1 }}>
...
</ScrollView>
トップ<View>
にはスタイルflex:1
が必要で、<ScrollView>
にもスタイルが必要です
ネイティブベースの<Form>
を使用していて、スクロールしたい場合は、KeyboardAwareScrollViewを使用します
<KeyboardAwaareScrollView enableOnAndroid={true}>
.
.
</KeyboardAwareScrollView>
これはAndroidで動作します