Tôi muốn tạo một trình đọc văn bản, sẽ cắt văn bản và đặt nó trong TextView (đại diện cho các trang của tôi) và cái kia. Chúng được chứa trong một ViewFlipper (đại diện cho toàn bộ văn bản của tôi), cho phép tôi lật trang.Android: Làm cách nào để biết có bao nhiêu văn bản có thể vừa với textView của tôi (trang của tôi)?
Do khuyết điểm, tôi không thể cắt văn bản của mình một cách thông minh. Bây giờ tôi giới hạn mỗi TextView thành một số ký tự, nhưng nó rất không ổn định. Thật vậy một số bức thư chiếm nhiều không gian hơn những người khác .. Chúng tôi không thể sử dụng phương pháp này.
Làm cách nào để biết số lượng văn bản sẽ nhập vào một TextView?
Tôi đã cố gắng tìm kích thước tối đa của Chế độ xem của mình theo cách thủ công. Tôi gọi bằng:
float test = view.getPaint().measureText(myString);
Nó hoạt động tốt. Khi tôi đặt 480 chữ cái (0 và 1), tôi nhận được 14.400 và văn bản của tôi hoàn toàn nằm trong màn hình. Với:
1 -> 12.0
0 -> 12.0
é -> 11.0
\n -> 13.0
\r -> 7.0
tổng điền trang -> 14400
Vấn đề là các ngắt dòng và vận chuyển trở lại đang gây ra vấn đề.
Nếu tôi chỉ có chữ cái hoặc số trong chuỗi của mình, rất tốt: nếu chúng tôi tôn trọng kích thước tối đa 14.400, mọi thứ được hiển thị trên màn hình. Không vấn đề gì!
Do khuyết điểm, nếu ngắt dòng hoặc trả về vận chuyển, nó không hoạt động. Ngay cả khi chúng tôi tôn trọng giới hạn 14400, văn bản ở trên và không được hiển thị đầy đủ.
Điều này là do phương pháp "MeasureText";.." Chỉ trả 13 cho ngắt dòng Nhưng đó là lạ, một ngắt dòng nên chiếm ít nhất 480 để làm cho nó phù hợp
Làm thế nào để các nhà xuất bản sách điện tử (Moon Reader, + Aldiko) cho văn bản được định dạng quá tốt? Mỗi trang có cùng chiều cao, văn bản kết thúc ở cùng một vị trí.
Bạn đã tìm thấy bất kỳ giải pháp? – Arslan