在TextView中检查文本是在一行上

时间:2014-12-22 12:33:22

标签: android textview

如何检测TextView中的文字是否在一行上。

如果它超过一行,我想使用128dp Toolbar

如果它在一行上,我想使用48dp

4 个答案:

答案 0 :(得分:0)

您可以将android:singleLine属性设置为true

请参阅this documentation

答案 1 :(得分:0)

如果它返回1,那么文本是单行,如下所示

int lineCount=mTextView.getLineCount();

答案 2 :(得分:0)

试试这个:

if(yourTv.getLineCount() > 1) {
    yourTv.setTextSize();
else {
    yourTv.setTextSize();
}

答案 3 :(得分:0)

您可以使用StaticLayout

    TextPaint textPaint = new TextPaint();
    textPaint.setTypeface(textView.getTypeface());
    textPaint.setTextSize(textView.getTextSize());
    textPaint.setTextAlign(Paint.Align.ALIGN_NORMAL);
    StaticLayout staticLayout = new StaticLayout(textString, textPaint, widthTextView, Layout.Alignment.ALIGN_NORMAL, 1f, 0f, true);
    if (1 == staticLayout.getLineCount()) {
        //do smth
    } else {
        //do smth else
    }