2017-09-11 35 views
5

Tôi đã trải qua nhiều giải pháp nhưng tôi không hiểu cách thực hiện hỗ trợ thiết kế cho RTL Sử dụng ConstraintLayout trong Android.Android: ConstraintLayout hỗ trợ RTL

+2

Sử dụng "bắt đầu" và "kết thúc" ngại thay cho "trái" và "quyền" ràng buộc (ví dụ 'layout_constraintEnd_toStartOf'), giống như bạn làm với' RelativeLayout'. – CommonsWare

Trả lời

13

Chỉ cần thay thế những hạn chế từ Left để Start & Right-End,

app:layout_constraintLeft_toRightOf = layout_constraintStart_toEndOf 
app:layout_constraintRight_toLeftOf = layout_constraintEnd_toStartOf 
app:layout_constraintLeft_toLeftOf = layout_constraintStart_toStartOf 
app:layout_constraintRight_toRightOf = layout_constraintEnd_toEndOf 

Tôi chắc chắn nó hoạt động một cách hoàn hảo cho bạn,

Xem Paradigm tôiitem_list.xml

LTR Ảnh chụp màn hình

English

RTL Ảnh chụp màn hình

RTL

Lưu ý: Tôi hy vọng bạn đã thêm dòng này android:supportsRtl="true" trong AndroidManifest.xml & một số đặt bạn cần phải loại bỏ tài sản textAlignment. Căn chỉnh chắc chắn sẽ hoạt động với văn bản Ả Rập.

+0

có vẻ như hoạt động nhưng tôi không sử dụng bất kỳ thuộc tính 'textAlignment' nào, nó vẫn hiển thị văn bản ở bên trái cho ** RTL ** –

+0

Ohh bình luận thú vị khi bạn đặt ** Arabic ** text thành' TextView' nó sẽ tự động đặt Phải sang trái nhưng đảm bảo bạn không đặt độ rộng cố định ở bất kỳ đâu. –

1

Đỗ điều sau đây,

  1. Tìm & Thay Left với Start
  2. Tìm & thay Right với End

Nếu bạn đang sử dụng leftDrawing hoặc rightDrawing vẫn cần phải thay thế nó bằng startDrawing & endDrawing

Tương tự cho đệm quá,

và đừng quên để thêm dòng sau đây vào AndroidManifest tập tin,

android:supportsRtl="true" 
Các vấn đề liên quan