Androidマージンの開始/終了と右/左の違いは何ですか?


130

Androidマージン開始と右(またはマージン終了と左)の違いは何ですか?

ささいな質問ですが、ビューの開始/終了と左/右の違いが何であるかをドキュメントから学ぶことはできません。何かわからないことがあるのか​​もしれませんが、これではまったく進歩できません。

回答:


185

左から右へのフローの場合、start = left、end = rightです。

右から左へのフローの場合、start = right、end = leftです。

「開始」および「終了」の概念は、Android 4.2のRTLレイアウトのサポートの一部として、APIレベル17で追加されました。


5
それらが異なる場合、どちらが優先されるか知っていますか?(好奇心)。以下のようなmarginLeft=1 marginStart=2(例えばLeft2Rightシナリオにおける)
マーティンMarconcini

@MartínMarconcini:うまくいけば、開始/終了が優先されますが、確かにわかりません。あなたはそれを試さなければならないでしょう。
CommonsWare、2015年

@Martin私が理解したところでは、API 17の上に開始/終了が存在する場合、左/右は無視されます。しかし、左/右が開始/終了と異なる理由がわかりません。私は興味がある。
Liggliluff、2017

2
@Liggliluffのバグ、タイプミスなど:) API 17の開始/終了後に優先され、古いものを使用している場合はLINT警告が表示されます。それらは無視され、試してみました。
Martin Marconcini、2017

@Martinそれをテストしてくれてありがとう。開始または終了のどちらか一方しか表示されない場合、左/右の両方が無視されますか?(これらがRTLスクリプトで同じになる場合は、start / rightを使用してもあまり論理的な意味がありません)。
Liggliluff 2017

28

AndroidはAPI 17以降、つまりAndroid 4.2(Jelly Bean)からのRTLレイアウトをサポートしています。RTLとLTRの両方をサポートするようにレイアウトを作成すると、layout_marginleftとlayout_marginRightを使用できなくなり、layout_marginstartとlayout_maginendを使用します。

pic

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.