我正在尝试在我的应用程序中使用 FlatList (React-native)。我水平使用它并且可以看到滚动条。 ScrollView 中有一个隐藏滚动条的选项,但 FlatList 中没有。有没有人能够以其他方式隐藏它。我尝试使用父子容器的解决方案(隐藏滚动条,但仍然能够滚动)但没有用。
import React, { Component } from 'react';
import { Text, View, FlatList, StyleSheet, ScrollView } from 'react-native';
import { Card, Button } from 'react-native-elements';
const data = [
{ id: 1, title: 'title 1', details: 'details 1 details 1 details 1' },
{ id: 2, title: 'title 2', details: 'details 2 details 2 details 2 details 2 details 2 details 2' },
{ id: 3, title: 'title 3', details: 'details 3 details 3' },
{ id: 4, title: 'title 4 title 4', details: 'details 4' },
];
class CategoryRow extends Component {
_keyExtractor = (item, index) => item.id;
_renderItem = (item) => {
return (
<Card style={styles.cardContainer}>
<Text>{item.title}</Text>
<Text>{item.details}</Text>
</Card>
);
}
render() {
return (
<View style={{ flex: 1, overflow:'hidden' }}>
<View style={{ overflow:'hidden' }}>
<Text>Category 1</Text>
<FlatList
horizontal
data={data}
renderItem={({ item }) => this._renderItem(item)}
keyExtractor={this._keyExtractor}
/>
</View>
</View>
);
}
}
const styles = StyleSheet.create({
cardContainer: {
width: 140,
height: 150,
borderWidth: 0.5,
borderColor: 'grey',
overflow: 'scroll',
},
})
export default CategoryRow;
只需添加
showsHorizontalScrollIndicator={false}
禁用垂直和水平滚动指示器
<ScrollView
showsVerticalScrollIndicator={false}
showsHorizontalScrollIndicator={false}
/>
如果您想隐藏垂直滚动条,请使用以下命令:
showsVerticalScrollIndicator={false}
FlatList继承自VirtualizedList。
VirtualizedList继承自ScrollView。
因此,您可以使用 ScrollView 属性来隐藏 FlatList 中的滚动条指示器。
<FlatList
...
showsVerticalScrollIndicator={false}
showsHorizontalScrollIndicator={false}
...
/>
尝试使 ListView 水平添加(horizontal={true}),如下所述,如果您只想隐藏滚动条,只需添加(showsHorizontalScrollIndicator={false})
<ListView showsHorizontalScrollIndicator={false} horizontal={true} />
就我而言,使用
Animated
版本的 Flatlist
解决了问题:
<Animated.FlatList
...
showsVerticalScrollIndicator ={false}
showsHorizontalScrollIndicator={false}
...
/>
<FlatList
.....
showsHorizontalScrollIndicator={false}
/>
只需添加此代码
FlatList继承自VirtualizedList。 VirtualizedList继承自ScrollView。 因此,您可以使用 ScrollView 属性来隐藏 FlatList 中的滚动条指示器。
<FlatList
...
showsVerticalScrollIndicator={false}
showsHorizontalScrollIndicator={false}
...
/>