React native 垂直居中滚动视图

React native 垂直居中滚动视图,react-native,React Native,我有一个滚动视图,我想垂直居中。有两个要求:当ScrollView很小(一条文本行)时,该行应位于屏幕中央。当ScrollView较大(超过屏幕大小)时,它应作为正常的ScrollView运行。我似乎只能让其中一个工作 <SafeAreaView style={{flex: 1}}> <Pressable style={flex: 1, justifyContent: 'center'}> <Pressable> <S

我有一个滚动视图,我想垂直居中。有两个要求:当ScrollView很小(一条文本行)时,该行应位于屏幕中央。当ScrollView较大(超过屏幕大小)时,它应作为正常的ScrollView运行。我似乎只能让其中一个工作

<SafeAreaView style={{flex: 1}}>
   <Pressable style={flex: 1, justifyContent: 'center'}>
      <Pressable>
         <ScrollView />
      </Pressable>
   </Pressable>
</SafeAreaView>

您可以将
alignSelf
属性应用于
ScrollView
父对象,使其自身居中。是一种同样的零食

<SafeAreaView style={{flex: 1}}>
   <Pressable style={{flex: 1, justifyContent: 'center'}}>
      <Pressable  style={{
            height: '100%',
            width: '60%',
            alignSelf : 'center'
          }}>
         <ScrollView />
      </Pressable>
   </Pressable>
</SafeAreaView>

您的滚动视图需要有一个固定的高度

const CenteredScrollView=(道具)=>{
//要渲染的随机文本
让随机文本=[
“只是一些随机的东西,你知道吗?希望它能达到超出屏幕大小的程度,你知道吗?”,
“读另一位母亲的兄弟的故事。”,
“读到另一位先生的妹妹的故事。”,
“这里有一些词。希望它能达到超出屏幕大小的程度,你知道吗?”,
“这里有一些词。希望它能达到超出屏幕大小的程度,你知道吗?”,
“有些词在哪里?希望它能达到超出屏幕大小的程度,你知道吗?”,
“我真的不知道发生了什么,但有些事情刚刚发生。”,
“我需要多少文本来填充屏幕大小?”,
]
//模拟超过屏幕高度的滚动视图
对于(设i=0;i{text})}
);
}

很抱歉,Rohit没有“justifySelf”属性。此外,您提供的零食与此处提供的代码完全不同,并且没有垂直居中。@SteveC更新了我的答案,很抱歉它是
alignSelf
而不是
justifySelf
,在我的零食中,我的结构与您的相同。我刚刚添加了显示结果的文本,现在已经删除了。对不起,Rohit,这个答案不起作用,你的零食也不起作用。我很感激你的尝试。谢谢幻影,但我不想找一个固定的高度,因为如果滚动视图只是一条直线,我仍然希望它居中。我已经在问题中澄清了这一点。