如何同时设置TextView的maxLines和ellipsize

我想限制我的文本视图有最多5行,所以我做了:

<TextView android:id="@+id/text" android:layout_width="fill_parent" android:layout_height="wrap_content" android:maxLines="5" /> 

但是当我尝试configuration它来添加'…'时,文本被截断,我添加android:ellipsize =“结束”。 我看到了…但是然后我的TextView只有2,而不是5的最大线。

你可以请build议如何使5的最大行的文本视图,并添加“…”时截断?

谢谢。

Progrmatically,你可以使用:

 your_text_view.setEllipsize(TextUtils.TruncateAt.END); your_text_view.setMaxLines(4); your_text_view.setText("text"); 

试试这个代码…

  final TextView tv_yourtext = (TextView)findViewById(R.id.text); tv_yourtext.setText("A really long text"); ViewTreeObserver vto = tv_yourtext.getViewTreeObserver(); vto.addOnGlobalLayoutListener(new OnGlobalLayoutListener() { @Override public void onGlobalLayout() { ViewTreeObserver obs = tv_yourtext.getViewTreeObserver(); obs.removeGlobalOnLayoutListener(this); if(tv_yourtext.getLineCount() > 6){ Log.d("","Line["+tv_yourtext.getLineCount()+"]"+tv_yourtext.getText()); int lineEndIndex = tv_yourtext.getLayout().getLineEnd(5); String text = tv_yourtext.getText().subSequence(0, lineEndIndex-3)+"..."; tv_yourtext.setText(text); Log.d("","NewText:"+text); } } }); 

有同样的问题android ellipsize multiline textview这是已知的错误,相当老,并没有固定:(

有人发布解决方法http://code.google.com/p/android-textview-multiline-ellipse/也许它会帮助你(或其他人);

您只需要将此行添加到您的TextView中:

 android:ellipsize="marquee" 

当我将TextView高度设置为一个常量(如50dp)时,它对我来说工作正常。