2017-09-26 2 views
1

J'utilise FlatList pour afficher la liste des personnes, cependant, j'ai remarqué que le dernier élément est toujours un peu de:Impossible de voir le dernier élément d'une liste

Voir point Amy Butts, je dois traîner à top pour le voir. Cet écran est dans un stackNavigator qui a un en-tête. Serait-ce le problème? comment le résoudre?

J'ai essayé marginBottom: 40 sur la FlatList mais cela n'a rien changé.

enter image description here

code:

let renderRow = ({item}) => { 
    return (
     <View style={{flexDirection: "row", justifyContent: "space-between"}}> 

      <TouchableOpacity style={{ flexDirection: "row", justifyContent: "flex-start", marginLeft: 10}} onPress={this.myFunction.bind(this, item)} > 
       <View style={{}}> 
        <Image style={styles.Image} source={{uri: item.Image}} /> 
       </View> 

       <View style={{ marginTop: 15, marginLeft: 10}}> 
        <Text >{item.name}</Text> 
       </View> 

      </TouchableOpacity> 
     </View> 
    ); 
} 

return(
    <FlatList style={{marginTop: 10, backgroundColor: "white"}} 
     keyExtractor={(item, index) => item.id} 
     data={this.state.result}       
     renderItem={renderRow.bind(this)} 
     ItemSeparatorComponent={renderSeparator.bind(this)} 
    /> 
) 

Avec paddingBottom (ou en haut), maintenant les deux derniers ne seront pas affichés:

enter image description here

Répondre

1

Vous devez ajouter paddingBottom ou marginBottom au FlatList avec une valeur appropriée à votre conception.

// Some padding amount that is suitable for your design 
<FlatList style={{marginTop: 10, backgroundColor: "white", paddingBottom: 40}} 
    keyExtractor={(item, index) => item.id} 
    data={this.state.result}       
    renderItem={renderRow.bind(this)} 
    ItemSeparatorComponent={renderSeparator.bind(this)} 
/> 
+0

A été fixé en définissant 'marginBottom: 120' (basé sur ma conception). Merci –

+2

Une meilleure approche à ceci est de donner «flex: 1» comme style à votre FlatList. Cela permet à la liste d'occuper toute la hauteur de largeur d'écran disponible au lieu de définir manuellement le remplissage de marge pour les éléments individuels. –