Tôi đang tìm phương pháp trong Android sẽ lấy đầu vào (văn bản, text_font_size, device_width) và dựa trên các tính toán này, nó sẽ trả về bao nhiêu chiều cao sẽ được yêu cầu để hiển thị văn bản cụ thể?Cách Đo Chiều cao TextView Dựa trên Chiều rộng và Kích thước Phông chữ của Thiết bị?
Tôi đang đặt thời lượng hiển thị văn bản/chế độ xem web dựa trên nội dung của anh ấy, tôi biết về nội dung dọc nhưng tôi không thể sử dụng trong trường hợp của mình do một số vấn đề về độ cao tối thiểu của chế độ xem web.
Vì vậy, tôi đang cố gắng tính toán chiều cao và dựa trên đó tôi đang thiết lập chiều cao xem.
Tôi đã thử với những cách sau đây
Paint paint = new Paint();
paint.setTextSize(text.length());
Rect bounds = new Rect();
paint.getTextBounds(text, 0, 1, bounds);
mTextViewHeight= bounds.height();
Vì vậy, đầu ra là
1) "Hello World" trả về một chiều cao của 13 cho phông chữ 15
2) "Phiên bản mới nhất của Jelly Bean ở đây, với tối ưu hóa hiệu suất "trả về độ cao 16 cho phông chữ 15
Sau đó, tôi đã thử với
Paint paint = new Paint();
paint.setTextSize(15);
paint.setTypeface(Typeface.SANS_SERIF);
paint.setColor(Color.BLACK);
Rect bounds = new Rect();
paint.getTextBounds(text, 0, text.length(), result);
Paint.FontMetrics metrics = brush.getFontMetrics();
int totalHeight = (int) (metrics.descent - metrics.ascent + metrics.leading);
Vì vậy, đầu ra là
1) "Hello World" trả về một chiều cao của 17 cho phông chữ 15
2) "Phiên bản mới nhất của Jelly Bean là ở đây, với optimisations hiệu suất" trả về chiều cao 17 cho phông chữ 15
nếu tôi đặt các giá trị này cho chế độ xem của mình, sau đó cắt bớt một số văn bản, nó không hiển thị tất cả nội dung.
Một lần nữa có vẻ OK trên một số bảng vì nó có chiều rộng lớn nhưng không có trên điện thoại.
Có cách nào để tính chiều cao dựa trên nội dung không?
Câu trả lời thú vị. – Noundla
kích thước văn bản là gì? –