web-dev-qa-db-fra.com

Masquer la barre de défilement dans FlatList (React Native) in Android

J'essaie d'utiliser FlatList (React-native) dans mon application. Je l'utilise horizontalement et je peux voir la barre de défilement. ScrollView permet de masquer la barre de défilement mais pas dans FlatList. Quelqu'un a-t-il pu le cacher d'une autre manière? J'ai essayé d'utiliser la solution du conteneur parent & enfant ( Masquer la barre de défilement, mais toujours en mesure de faire défiler ), mais je n'ai pas fonctionné.

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;
31
sushil bansal

Ajoutez simplement

showsHorizontalScrollIndicator={false}
97
Kawatare267

essayez ceci pour rendre ListView horizontal add (horizontal = {true}) mentionné ci-dessous et si vous souhaitez simplement masquer la barre de défilement, ajoutez simplement (showsHorizontalScrollIndicator = {false})

<ListView showsHorizontalScrollIndicator={false}
                      horizontal={true}

/>

5
Atif Mukhtiar