我有一个文本字符串,我将把它放在TextView中并将其设置为屏幕动画。 我逐步创建TextView,我需要提前知道字符串宽度是否足够宽,以便TextView将其分成两行。
我试着这样知道:
private int getLinesCount(String text) {
Rect bounds = new Rect();
Paint paint = new Paint();
Typeface typeface = Typeface.createFromAsset(context.getAssets(), FONT_DIR_LOCATION);
paint.setTextSize(mTextSize);
paint.setTypeface(typeface);
paint.getTextBounds(text, 0, text.length(), bounds);
float width = (float) bounds.width();
return (int) Math.ceil(width / TextViewContainerWidth);
}
但是,当我输入宽度接近但不超过TextView宽度的字符串时,TextView意外地断开了该行。
例如,如果我输入宽度为1057且容器大小为1066的文本,则方法将按预期返回1(一行)。
但是TextView将字符串分成两行。
有没有人知道textview决定打破这条线?