Việc sử dụng android: supportsRtl = “true” trong tệp xml AndroidManifest là gì


89

Bất cứ khi nào tôi tạo dự án mới trong studio android, tôi đều có android:supportsRtl="true"trong ứng dụng Tệp AndroidManifest.

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">
...
</application>

Việc sử dụng trong ứng dụng là gì, ưu điểm và nhược điểm khi tôi thêm hoặc không thêm vào ứng dụng AndroidManifest của mình là gì.


5
Tôi không cảm thấy đây là một câu hỏi trùng lặp. Cả hai đều liên quan đến RTL, nhưng những người tìm kiếm chúng sẽ trì hoãn.
SREE

2
Câu hỏi mà điều này được tham chiếu là trùng lặp là sai. Hoàn toàn khác ngữ cảnh cho người dùng tìm kiếm câu hỏi.
Jaydev

Câu trả lời:


85

Tuyên bố liệu ứng dụng của bạn có sẵn sàng hỗ trợ bố cục từ phải sang trái (RTL) hay không. Nếu được đặt thành true và targetSdkVersion được đặt thành 17 hoặc cao hơn, các API RTL khác nhau sẽ được hệ thống kích hoạt và sử dụng để ứng dụng của bạn có thể hiển thị bố cục RTL. Nếu được đặt thành false hoặc nếu targetSdkVersion được đặt thành 16 hoặc thấp hơn, thì các API RTL sẽ bị bỏ qua hoặc sẽ không có hiệu lực và ứng dụng của bạn sẽ hoạt động giống nhau bất kể hướng bố cục được liên kết với lựa chọn Ngôn ngữ của người dùng (bố cục của bạn sẽ luôn ở bên trái -bên phải).

Giá trị mặc định của thuộc tính này là false.

Thuộc tính này đã được thêm vào API cấp 17.

(Nguồn: http://developer.android.com/guide/topics/manifest/application-element.html )


73

nếu bạn đang xây dựng một ứng dụng bằng tiếng Ả Rập, tiếng Urdu, tiếng Hebrew, vv ... hoặc bất kỳ ngôn ngữ được viết từ phải sang trái bạn nên đặt android:supportsRtlđể true, đó là cách bạn nói với bố trí là từ phải sang trái, và Giá trị mặc định của thuộc tính này là sai.


14
Tốt hơn tài liệu của Google.
CopsOnRoad

1
Cảm ơn các phản hồi khác, nhưng loại phản hồi này hữu ích hơn và hoàn thành tài liệu. Xin cảm ơn @Sarah.
Nicoolasens

xin chào, ứng dụng của tôi không hỗ trợ ngôn ngữ Ả Rập nhưng tôi đang sử dụng android: supportsRtl = "true" trong tệp kê khai.xml, đây có phải là vấn đề không?
ozanurkan

3
@ozanurkan - Không thành vấn đề. Câu trả lời này là sai / gây hiểu lầm. android:supportsRtl="true"cho phép hỗ trợ các ngôn ngữ từ phải sang trái. Nếu không có điều này, bố cục sẽ luôn từ trái sang phải, Tuy nhiên , bản thân nó không thay đổi bố cục từ phải sang trái. Nó chỉ đơn giản là cho phép các thuộc tính khác - một trong những thuộc tính mới đó kiểm soát xem là trái sang phải hay từ phải sang trái.
ToolmakerSteve

10

Từ Hướng dẫn API Android:

(developer.android.com/guide/topics/manifest/application-element.html)

Tuyên bố liệu ứng dụng của bạn có sẵn sàng hỗ trợ bố cục từ phải sang trái (RTL) hay không.

Nếu được đặt thành true và targetSdkVersion được đặt thành 17 hoặc cao hơn, các API RTL khác nhau sẽ được hệ thống kích hoạt và sử dụng để ứng dụng của bạn có thể hiển thị bố cục RTL. Nếu được đặt thành false hoặc nếu targetSdkVersion được đặt thành 16 hoặc thấp hơn, thì các API RTL sẽ bị bỏ qua hoặc sẽ không có hiệu lực và ứng dụng của bạn sẽ hoạt động giống nhau bất kể hướng bố cục được liên kết với lựa chọn Ngôn ngữ của người dùng (bố cục của bạn sẽ luôn ở bên trái -bên phải).

Giá trị mặc định của thuộc tính này là false.

Thuộc tính này đã được thêm vào API cấp 17.

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.