react-native - FlatList 没有在 react-native 中填充 100% 的高度
问题描述
我得到了一个 FlatList,它占据了屏幕上 50% 的垂直空间。这个 FlatList 只有几个项目,正因为如此,它并没有占据整个空间,而是只占据了一半,当我向上/向下滚动时,它看起来好像有overflow: hidden
.
我在 RN GitHub 上读到了这个,他们建议flexGrow: 1
在 FlatList 上使用contentContainerStyle
,也是在父视图上使用flex: 1
. 但不工作。这仍然有效吗?他们说要在 ScrollViews 上使用它,但 FlatList 不是继承自 ScrollView 或类似的东西吗?
这是我目前的结构:
render() {
return (
<View style={{ flex: 1 }}>
<FlatList
contentContainerStyle={{ flexGrow: 1 }}
numColumns={2}
style={ styles.cardContainer }
keyExtractor={ this._keyExtractor }
data={ this.state.listData }
renderItem={ this._renderItem }
>
</FlatList>
</View>
);
}
解决方案
你实际上想把 flex 放到你的FlatList
. 目前,您的contentContainerStyle
.
所以flex:1
你FlatList
会让它填满容器的其余部分。
您需要根据您当前在styles.cardContainer
.
<View style={{ flex: 1 }}>
<View style={{ height: Dimensions.get("window").height * 0.25 }} />
<FlatList
numColumns={2}
style={{ flex: 1 }}
keyExtractor={this._keyExtractor}
data={["1", "2", "3"]}
renderItem={this._renderItem}
/>
</View>
推荐阅读
- python - virtualenv - 鸟瞰的理解
- python - 使用 NIDAQmx 触发输出任务
- python - 如何使用消息呈现表单向导并保留数据?
- python - Pyzmq 高水位标记在 pub 套接字上不起作用
- python - 带有变量选项的 argparse 操作菜单
- elm - 榆树中的字典与记录
- airflow - Airflow 1.9.0 正在排队,但任务未运行
- arrays - 无法从 Angular 中的模型访问数组
- javascript - 根据给定前缀分离模式列表
- javascript - 努力使用 Node.js 执行“简单”HTTP GET - 使用 TLS 1.0 的目标服务器