如何獲得給定字符串下行的高度?如何獲得給定字符串下行的高度?
例如,
abc
應該返回0abcl
應該返回0abcp
應從descnder線返回到基線距離。abclp
應該返回從descnder行到基線的距離。
盡我所能出來至今
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();
}
然而,我的代碼的氣味是他們不夠好。有沒有更好更快的方法?
問題如何找出,在給定的字符串中是否有任何非零下降的字符。 –
對不起,我讀得太快了。你的代碼中可能有最好的解決方案。 – emidander