【发布时间】:2018-04-04 22:17:19
【问题描述】:
我正在使用 ListView 创建一个网格。这是我的代码
export default class CategoryContainer2 extends Component {
constructor() {
super();
const ds = new ListView.DataSource({rowHasChanged: (r1, r2) => r1 !== r2});
this.state = {
dataSource: ds.cloneWithRows(['row 1', 'row 2','row 3','row 4','row 5']),
};
}
render() {
return (
<View style={{
backgroundColor:'#ebeef0',
alignItems:'center',
justifyContent:'center'}}>
<ListView contentContainerStyle={styles.list}
dataSource={this.state.dataSource}
renderRow={(rowData) => <Text style={styles.item}>{rowData}</Text>}
/>
</View>
);
}
}
这就是结果
正如您在我的代码中看到的,我试图将网格在屏幕中居中,但这不起作用。你知道怎么做吗?
编辑:
如果网格上只有一条线,则视图居中
如果我增加项目的大小并且网格包含多条线,则中心不再起作用
编辑:
这里是snack 的问题。
【问题讨论】:
-
你可以尝试将
flex: 1添加到View吗 -
我做了但还是不行
-
你能用完整的例子创建一个Snack吗?
-
将
flex:1添加到 Text ,如果不起作用,则使用flex:1将父视图添加到文本中 -
我用自定义组件替换了
标签: reactjs react-native flexbox