Làm thế nào tôi có thể nhận được chiều cao của một chuỗi cho trước?Làm thế nào tôi có thể nhận được chiều cao của một chuỗi cho trước?
Ví dụ,
abc
nên trở về 0.abcl
nên trở về 0.abcp
nên trả lại khoảng cách từ dòng descnder đến đường cơ sở.abclp
nên trả lại khoảng cách từ dòng mô tả đến đường cơ sở.
Điều tốt nhất tôi có thể xuất hiện cho đến nay là
private int getDecender(String string, Paint paint) {
// Append "l", to ensure there is Ascender
string = string + "l";
final String stringWithoutDecender = "l";
final Rect bounds = new Rect();
final Rect boundsForStringWithoutDecender = new Rect();
paint.getTextBounds(string, 0, string.length(), bounds);
paint.getTextBounds(stringWithoutDecender, 0, stringWithoutDecender.length(), boundsForStringWithoutDecender);
return bounds.height() - boundsForStringWithoutDecender.height();
}
Tuy nhiên, mã mùi của tôi là họ không đủ tốt. Có cách nào tốt hơn và nhanh hơn không?
Câu hỏi về cách tìm hiểu, có bất kỳ ký tự nào có gốc không khác trong chuỗi đã cho không. –
Xin lỗi, tôi đọc quá nhanh. Bạn có thể có giải pháp tốt nhất trong mã của bạn. – emidander