Tôi có bố trí như vậy (tôi đã xóa một số thuộc tính, nguyên nhân họ thực sự không quan trọng, dự án trình diễn đầy đủ là here):TextView làm việc sai trái với breakStrategy = "cân bằng" và layout_width = "wrap_content"
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content" (* this is important)
android:layout_height="wrap_content"
android:breakStrategy="balanced" (* this is important)
android:text="@string/long_text" />
</LinearLayout>
Văn bản long_text
là khá dài, do đó, nó sẽ được tách ra cho một vài dòng.
Hai dòng quan trọng là android:layout_width="wrap_content"
và android:breakStrategy="balanced"
.
Tôi hy vọng rằng TextView
sẽ tính chiều rộng theo số thực tế văn bản chiều rộng, nhưng không.
Có ai biết cách khắc phục điều này không?
CẬP NHẬT
Thuộc tính android:breakStrategy="balanced"
chỉ hoạt động cho API 23
và cao hơn. Trong văn bản mẫu của tôi có 3 dòng và chiến lược balanced
làm cho mỗi dòng có cùng chiều rộng.
Tôi hy vọng rằng trong trường hợp này, chiều rộng của chính chế độ xem sẽ giống với dòng dài nhất.
Tôi đang tìm cách giải quyết khác. Tôi cần giải pháp như trong trò chuyện trong Hangouts. Tôi không thể tìm ra cách nó hoạt động.
UPDATE 2
Thật không may, câu trả lời được chấp nhận không làm việc với RTL văn bản.
gì bạn có nghĩa là bởi 'Tôi hy vọng rằng TextView sẽ tính chiều rộng theo chiều rộng văn bản thực tế, nhưng nó không' Als o thực tế của bạn có vẻ khác với những gì nên có được [như thế này] (https://imagebin.ca/v/38OTigaIafpF) – shadygoneinsane
Tôi đã cập nhật câu hỏi. –
@Oleksii Kropachov Làm thế nào bạn mong đợi để phá vỡ dòng, cho phép nói dài hơn 1,5 dòng của nó .. vì vậy whats đầu ra dự kiến của bạn? –