Sự khác biệt giữa bắt đầu / kết thúc lề Android và phải / trái là gì?


130

Sự khác biệt giữa bắt đầu lề Android và phải (hoặc cuối lề và trái) là gì?

Đó là một câu hỏi tầm thường, nhưng dường như tôi không thể học được từ tài liệu về sự khác biệt giữa xem bắt đầu / kết thúc và trái / phải. Có thể là tôi không hiểu điều gì đó, nhưng tôi không thể đạt được bất kỳ tiến triển nào với điều này cả.

Câu trả lời:


185

Đối với luồng từ trái sang phải, start = left, end = right.

Đối với luồng từ phải sang trái, bắt đầu = phải, kết thúc = trái.

Các khái niệm "bắt đầu" và "kết thúc" đã được thêm vào trong API cấp 17, như là một phần hỗ trợ của Android 4.2 cho bố cục RTL .


5
Bạn có biết cái nào được ưu tiên nếu chúng khác nhau không? (tò mò). thích marginLeft=1 marginStart=2(ví dụ trong Kịch bản Left2Right)
Martin Marconcini

@ MartínMarconcini: Hy vọng bắt đầu / kết thúc được ưu tiên, nhưng tôi không biết điều đó chắc chắn. Bạn sẽ phải thử nó.
CommonsWare

@Martin Đối với những gì tôi hiểu, trái / phải bị bỏ qua khi bắt đầu / kết thúc tồn tại trên API 17. Tuy nhiên, tôi không thể hiểu tại sao trái / phải của bạn sẽ khác với bắt đầu / kết thúc; Tôi tò mò.
Liggliluff

2
@Liggliluff lỗi, lỗi chính tả, v.v :) Sau khi bắt đầu / kết thúc API 17 được ưu tiên và có cảnh báo LINT nếu bạn vẫn sử dụng các lỗi cũ. Họ bị bỏ qua, tôi đã cố gắng.
Martin Marconcini

@Martin Cảm ơn bạn đã thử nghiệm nó. Có phải cả trái / phải bị bỏ qua nếu chỉ một trong hai bắt đầu hoặc kết thúc xuất hiện? (Sẽ không có ý nghĩa logic nhiều khi sử dụng start / right khi chúng sẽ giống nhau cho các tập lệnh RTL).
Liggliluff

28

Android hỗ trợ bố trí RTL từ API 17+, tức là Android 4.2 (Jelly Bean) .và khi chúng tôi bố trí để hỗ trợ cả RTL và LTR thì chúng tôi không thể sử dụng layout_marginleft và layout_marginRight ở đó chúng tôi sử dụng layout_marginstart và layout_maginend.

pic

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.