14

Tôi có một Appwidget hiển thị ngày cho đến khi một sự kiện như:Làm thế nào để ảnh hưởng linebreak trong Android TextView

EventName (-231 ngày)

Nếu có thể tôi muốn hiển thị chuỗi này trong một dòng . Nếu tên sự kiện quá dài, tôi muốn hiển thị toàn bộ cụm từ trong dấu ngoặc ôm thành một dòng mới. Vì vậy mà nó cũng giống như:

longeventname
(-231 ngày)

thay vì:

longeventname (-231
ngày)

(hoặc bất kỳ điều gì tương tự)

Có cách nào để lưu trữ điều này không? Tôi có thể tạo ra (-231 ngày) "nguyên tử" không?

string.getLength sẽ không hoạt động vì kích thước của tiện ích sẽ khác nhau tùy theo thiết bị.

Trả lời

24

Bạn có thể sử dụng số non-breaking space giữa số và "ngày".

Đó là   cho chuỗi trong XML hoặc \u00A0 cho chuỗi trong mã Java.

+0

Hoàn hảo! Đó chính là điều tôi đang tìm kiếm. "\ u00A0" hoạt động hoàn hảo trong Textview. –

+10

Đối với những người làm những việc tương tự ở đây là hai gợi ý hữu ích: Thứ nhất, cũng có dấu trừ không vi phạm (\ u2011) và thứ hai bạn có thể sử dụng không gian chiều rộng bằng không http://en.wikipedia.org/wiki/Zero-width_space để có thể ngắt dòng trong một từ. –

+1

Chỉ cần lưu ý: Có vẻ như điều này đang hoạt động trong hầu hết các trường hợp. Tuy nhiên, ngay cả một không gian không phá vỡ sẽ được kinda phá vỡ nếu trước bởi một khoảng thời gian (không có những điều như không phá vỡ thời gian buồn bã). Vì vậy, đây không phải là một tùy chọn nếu bạn đang làm việc với các từ viết tắt như "P. Howard" – IBoS

Các vấn đề liên quan