web-dev-qa-db-fra.com

style Vs contentContainerStyle dans ScrollView?

Quand j'applique {alignItems: 'center', justifyContent: 'center'} à style prop, a obtenu l'erreur suivante,

La disposition enfant ScrollView doit être appliquée via le prop contentContainerStyle

puis appliqué le même style à contentContainerStyle et a bien fonctionné. Je n'arrive pas à comprendre la différence fondamentale entre style et contentContainerStyle et quand les utiliser.

Je suppose que lorsque ScrollView est appelé, deux views sont appelés. style applicable au parent View et contentContainerStyle applicable à l'enfant View.

S'il vous plait corrigez moi si je me trompe. Merci.

15
Mighty

Vous avez raison, pensez-y comme ceci, ScrollView est un type spécial de vue, ScrollView se compose de deux parties:

  1. Conteneur (la case grise), c'est la vue extérieure, sa hauteur ne peut pas dépasser 100% de la hauteur de la fenêtre

  2. Le contenu (marqué en bleu) est la partie intérieure, il peut être supérieur à la hauteur de la fenêtre, c'est ce qui se déplace à l'intérieur du conteneur.

enter image description here

ScrollView style définit le conteneur externe du ScrollView, par exemple sa hauteur et ses relations avec les éléments de la fratrie

ScrollView contentContainerStyle définit le conteneur interne de celui-ci, par exemple les alignements d'éléments, le rembourrage, etc.

22
Tareq El-Masri