0
votes

mettre de l'espace entre les éléments dans une rangée

Existe-t-il un moyen de styliser les éléments (à partir de la vue évaluations ) de manière à ce qu'il y ait automatiquement un espace entre eux? J'ai pensé à imprimer du texte (espaces blancs) mais cela ne semble pas être une solution idéale. Que puis-je faire d'autre?

  ratings: {
    flexDirection: 'row',
    //alignContent: 'center',
    alignItems: 'baseline',
  },
  introContainer: {
    alignItems: 'center',
    paddingTop: 50,
    width: '100%',
  },

 ss

 <View style={styles.introContainer}>
          <Text style={styles.name}>{firstName}</Text>
          <View style={styles.ratings}>
            <Icon name="user" size={moderateScale(20)} />
            <Icon name="star" size={moderateScale(13)} />
            <Text style={styles.rating}> {rating}</Text>
          </View>
        </View>


0 commentaires

3 Réponses :


0
votes

ajoutez margin ou padding à l'élément que vous souhaitez lui donner plus d'espace

ou vous pouvez appliquer une largeur à quelques-uns éléments et utilisez

display: flex;
justify-content: space-between;

pour qu'ils soient espacés de manière égale


2 commentaires

suggérez-vous que je devrais appliquer la largeur à la vue évaluations ou à chaque icône séparément? L'application aux notes, puis l'ajout d'affichage, justify-content ne fonctionnait pas


Ah bon? c'est bizarre ça n'a pas fonctionné. avez-vous défini une largeur suffisamment grande? que se passe-t-il si vous appliquez une largeur à styles.ratings de 300 pixels par exemple?



0
votes

<₹UPDATE

Désolé, il n'y a pas de support pour grid par défaut dans React Native, donc l'option 3 est rejetée à moins que vous ne souhaitiez utiliser une bibliothèque tierce comme https://www.npmjs.com/package/react-native-responsive-grid

Option 1:

Donnez à l'icône étoile une marge droite et gauche

Option 2:

Ajoutez width et display: flex au style notes et définissez l'espace justifyContent sur -entre ou space-around

Option 3:

Utilisez grid au lieu de flex et définissez un grid-gap


2 commentaires

J'ai essayé l'option 2 mais rien n'a changé. Quelle largeur dois-je utiliser? J'ai essayé avec 100. Pour l'option 3, pourriez-vous donner un exemple d'utilisation de la grille? Je n'utilise pas flex right pas donc je ne suis pas ce qu'il faut remplacer


J'ai mis à jour la réponse, vous devez également ajouter display: flex à la vue notes , et en ce qui concerne la grille, je viens de constater qu'il n'y a pas de support pour cela dans RN right maintenant, désolé pour la confusion



0
votes

Si vous faites référence aux enfants du composant View , vous pouvez essayer d'utiliser:

.ratings > * {
 // your css here
}

En utilisant > vous ciblez les enfants directs du sélecteur parent (dans ce cas, le sélecteur de classe .ratings .

* signifie tout type d'enfants élément, bien que vous devriez être plus spécifique si vous le pouvez (tous les enfants doivent être ciblés par la même classe ou être le même élément html) combinateur enfant css


2 commentaires

Vous ne pouvez pas utiliser les sélecteurs CSS par défaut dans React Native


Bonne prise J'ai manqué le réacteur-natif tag