React 本机元素列表宽度太窄
React native elements list width is too narrow
我正在使用此处的 react-native-elements 列表:https://react-native-training.github.io/react-native-elements/API/lists/
当我用 flex: 1
渲染它时,它非常窄。当我用 width: 400
渲染它时就可以了。
样式如下:
container: {
flex: 1,
justifyContent: 'flex-start',
alignItems: 'center',
},
half: {
flex: 1,
justifyContent: 'flex-start',
alignItems: 'center',
borderWidth: 2,
borderColor: '#FF0000'
},
列表代码如下:
<View style={styles.container}>
{ babyList.length === 0 ? null :
<View style={styles.half}>
<List containerStyle={{flex: 1}}>
<Text style={styles.welcome}>
Select Baby
</Text>
{babyList.map((baby, id) => {
return <ListItem key={"bbbtn" + id}
onPress={ (event) => selectBaby(baby) } title={"Baby: " + baby.name}/>
})}
</List>
</View>
}
</View>
上面的代码看起来像这样:
这是我设置 containerStyle={{width: 400}}
后的样子
我认为 flex: 1 会使它成为最大宽度?我需要怎么做才能让它占满整个父容器?
发生这种情况是因为您用 alignItems: 'center'
覆盖了默认值 alignItems: 'stretch'
。从您的样式表中删除它,所有元素将被拉伸以填充所有可用的 space.
这是您在 Snack 上的代码:https://snack.expo.io/r121RGj1G
我正在使用此处的 react-native-elements 列表:https://react-native-training.github.io/react-native-elements/API/lists/
当我用 flex: 1
渲染它时,它非常窄。当我用 width: 400
渲染它时就可以了。
样式如下:
container: {
flex: 1,
justifyContent: 'flex-start',
alignItems: 'center',
},
half: {
flex: 1,
justifyContent: 'flex-start',
alignItems: 'center',
borderWidth: 2,
borderColor: '#FF0000'
},
列表代码如下:
<View style={styles.container}>
{ babyList.length === 0 ? null :
<View style={styles.half}>
<List containerStyle={{flex: 1}}>
<Text style={styles.welcome}>
Select Baby
</Text>
{babyList.map((baby, id) => {
return <ListItem key={"bbbtn" + id}
onPress={ (event) => selectBaby(baby) } title={"Baby: " + baby.name}/>
})}
</List>
</View>
}
</View>
上面的代码看起来像这样:
这是我设置 containerStyle={{width: 400}}
我认为 flex: 1 会使它成为最大宽度?我需要怎么做才能让它占满整个父容器?
发生这种情况是因为您用 alignItems: 'center'
覆盖了默认值 alignItems: 'stretch'
。从您的样式表中删除它,所有元素将被拉伸以填充所有可用的 space.
这是您在 Snack 上的代码:https://snack.expo.io/r121RGj1G