ความแตกต่างระหว่าง Android margin เริ่มต้น / สิ้นสุดและขวา / ซ้ายคืออะไร?


130

ความแตกต่างระหว่าง Android มาร์จิ้นเริ่มต้นและขวา (หรือระยะขอบและซ้าย)

เป็นคำถามเล็ก ๆ น้อย ๆ แต่ฉันไม่สามารถเรียนรู้จากเอกสารว่าอะไรคือความแตกต่างระหว่างมุมมองเริ่มต้น / สิ้นสุดและซ้าย / ขวา อาจเป็นได้ว่าฉันแค่ไม่เข้าใจอะไรบางอย่าง แต่ฉันไม่สามารถทำอะไรได้เลย

คำตอบ:


185

สำหรับการไหลเวียนจากซ้ายไปขวาให้เริ่ม = ซ้าย, สิ้นสุด = ขวา

สำหรับโฟลว์จากขวาไปซ้าย start = right, end = left

"การเริ่มต้น" และ "จบ" แนวความคิดที่ถูกเพิ่มเข้ามาในระดับ API ที่ 17 เป็นส่วนหนึ่งของการสนับสนุน Android 4.2 สำหรับรูปแบบ


5
คุณรู้หรือไม่ว่าอันไหนที่สำคัญกว่ากันถ้ามันแตกต่างกัน? (อยากรู้) ชอบmarginLeft=1 marginStart=2(ในตัวอย่างสถานการณ์ Left2Right)
Martin Marconcini

@ MartínMarconcini: หวังว่าการเริ่มต้น / สิ้นสุดจะมีความสำคัญกว่า แต่ฉันไม่รู้ว่ามันแน่นอน คุณต้องลอง
คอมมอนส์

@Martin สำหรับสิ่งที่ฉันเข้าใจซ้าย / ขวาจะถูกละเว้นเมื่อเริ่มต้น / สิ้นสุดอยู่เหนือ API 17 อย่างไรก็ตามฉันไม่เห็นว่าทำไมซ้าย / ขวาของคุณจะแตกต่างจากเริ่มต้น / สิ้นสุด ฉันอยากรู้.
Liggliluff

2
@Liggliluff bugs, typos ฯลฯ :) หลังจาก API 17 เริ่มต้น / สิ้นสุดจะมีความสำคัญกว่าและมีคำเตือน LINT หากคุณยังคงใช้ไฟล์เก่า พวกเขาจะถูกละเว้นฉันพยายาม
Martin Marconcini

@ มาร์ตินขอบคุณสำหรับการทดสอบ ทั้งซ้าย / ขวาถูกละเว้นหรือไม่ถ้ามีเพียงการเริ่มต้นหรือสิ้นสุดเพียงรายการเดียว (คงไม่สมเหตุสมผลนักที่จะใช้การเริ่ม / ขวาเมื่อมันจะเหมือนกันสำหรับสคริปต์ RTL)
Liggliluff

28

Android รองรับเลย์เอาต์ RTL จาก API 17+ เช่น Android 4.2 (Jelly Bean) และเมื่อเราสร้างเลย์เอาท์ของเราเพื่อรองรับทั้ง RTL และ LTR แล้วเราไม่สามารถใช้ layout_marginleft และ layout_margin ได้เลยเราใช้ layout_marginstart และ layout_maginend

pic

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.