如何同时设置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)时,它对我来说工作正常。
- 使用多个帐户的应用内购买
- ClassNotFoundException:未find类“com.google.android.gms.ads.AdView”
- 如何排列文字以在图像周围stream动
- 如何将提示文本集中在Android的EditText中?
- 在ValueEventListener中初始化后,全局variables的值将被重置
- 我怎样才能将aidl文件添加到Android工作室(从应用程序开票示例)
- Dialogs / AlertDialogs:如何在对话框启动时阻止执行(.NET风格)
- Android – 将URL上的图像保存到SD卡上
- Android:意图的setFlags和addFlags之间有什么区别