Cómo establecer maxLines y ellipsize de un TextView al mismo tiempo

Quiero limitar mi vista de texto para tener un máximo de 5 líneas, así que lo hice:

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

Pero cuando intento configurarlo para agregar '…' cuando el texto está truncado, agrego android: ellipsize = "end". Veo el … pero entonces mi TextView tiene solamente una línea máxima de 2, en vez de 5.

¿Puede sugerir cómo puedo hacer la vista de texto de la línea máxima de 5 y agregar '…' cuando se trunca?

Gracias.

Progrmatically, usted puede utilizar:

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

Prueba este código …

  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); } } }); 

Hay la misma pregunta androide ellipsize multiline textview Esto es bug conocido, bastante viejo y no arreglado todavía 🙁

Alguien publicó la solución http://code.google.com/p/android-textview-multiline-ellipse/ tal vez le ayudará (o alguien más)

Sólo necesita agregar esta línea a su TextView:

 android:ellipsize="marquee" 

Cuando fijo la altura de TextView a un valor constante (como 50dp), trabaja muy bien para mí.

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.