我正在使用React Native,一旦引入ScrollView,就很难保持元素的垂直居中。为了演示,我使用React Native Playground创建了3个应用程序。所有示例都有2页,可以通过点击蓝色按钮进行切换。
范例1:
第一个示例显示了在第2页上垂直居中的块。这是因为容器将以下样式应用于其上:
flex: 1,
flexDirection: 'column',
justifyContent: 'center',
https://rnplay.org/apps/lb5wSQ
但是,切换到第2页时会出现问题,因为该页的全部内容都不适合,因此我们需要一个ScrollView
。
例子2
在此示例中,我将所有内容包装在ScrollView中。这允许页面2滚动,但是现在我失去了页面1的垂直居中。
https://rnplay.org/apps/DCgOgA
例子3
为了试图找回1的垂直居中,我申请flex: 1
到了contentContainerStyle
滚动型的。这样可以解决第1页的垂直居中问题,但是我不再能够一直向下滚动到第2页的底部。
https://rnplay.org/apps/LSgbog
如何解决此问题,以便在第1页上获得元素的垂直居中,但仍使ScrollView一直滚动到第2页的底部?