Quelle est la différence entre le début / la fin de la marge Android et la droite / la gauche?

130

Quelle est la différence entre le début et la droite de la marge Android (ou la fin de la marge et la gauche)?

C'est une question triviale, mais je n'arrive pas à apprendre de la documentation quelle est la différence entre la vue début / fin et gauche / droite. Il se peut que je ne comprends tout simplement pas quelque chose, mais je ne peux pas du tout progresser.

Caméléon
la source

Réponses:

185

Pour un flux de gauche à droite, début = gauche, fin = droite.

Pour un flux de droite à gauche, start = right, end = left.

Les concepts de «début» et de «fin» ont été ajoutés dans l'API niveau 17, dans le cadre de la prise en charge d' Android 4.2 pour les mises en page RTL .

CommonsWare
la source
5
Savez-vous lesquels ont préséance s'ils sont différents? (curiosité). comme marginLeft=1 marginStart=2(dans un scénario Left2Right par exemple)
Martin Marconcini
@ MartínMarconcini: J'espère que le début / la fin ont la priorité, mais je ne le sais pas avec certitude. Il faudrait l'essayer.
CommonsWare
@Martin Pour ce que j'ai compris, la gauche / droite est ignorée lorsque le début / la fin existe au-dessus de l'API 17. Cependant, je ne vois pas pourquoi votre gauche / droite serait différente de début / fin; Je suis curieux.
Liggliluff
2
@Liggliluff bugs, fautes de frappe, etc :) Après le début / fin de l'API 17 ont priorité et il y a un avertissement LINT si vous utilisez toujours les anciens. Ils sont ignorés, j'ai essayé.
Martin Marconcini
@Martin Merci de l'avoir testé. Les deux gauche / droite sont-ils ignorés si un seul de début ou de fin apparaît? (Cela n'aurait pas beaucoup de sens d'utiliser start / right quand ce sera le même pour les scripts RTL).
Liggliluff
28

Android prend en charge les mises en page RTL de l'API 17+, c'est-à-dire Android 4.2 (Jelly Bean) .et lorsque nous faisons notre mise en page pour prendre en charge à la fois RTL et LTR, nous ne pouvons pas utiliser layout_marginleft et layout_marginRight, nous utilisons layout_marginstart et layout_maginend.

pic

Avnish kumar
la source