加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

React Native:使用ScrollView时的垂直居中

发布时间:2020-12-15 20:42:34 所属栏目:百科 来源:网络整理
导读:我正在使用React Native,一旦引入了ScrollView,我就无法保留元素的垂直居中.为了演示,我用React Native Playground创建了3个应用程序.所有示例都有2页,可以通过点击蓝色按钮来切换. 示例1: 第一个示例显示了第2页上的垂直居中的块.这是因为容器已应用了这些
我正在使用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应用于ScrollView的contentContainerStyle.这将修正第1页上的垂直居中点,但是我不能再一直滚动到第2页的底部.

https://rnplay.org/apps/LSgbog

如何解决这个问题,以便在第1页上获得垂直居中的元素,但仍然可以将ScrollView滚动到第2页的底部?

我用flexGrow而不是flex解决了这个问题

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

这使得内容容器伸展来填充ScrollView,但不限制最大高度,因此当内容扩展ScrollView的边界时,您仍然可以正确滚动

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读