我怎么能事先知道TextView是否会将我的文本分成两行

时间:2018-03-08 14:39:17

标签: java android string textview line

我有一个文本字符串,我将把它放在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决定打破这条线?

0 个答案:

没有答案