Intereting Posts
Android studio 2.3: Не удалось инициализировать класс org.jetbrains.kotlin.android.actions.NewKotlinActivityAction Эллипсизация не работает должным образом для многострочного TextView с произвольной максимальной высотой Android – отменить порядок массива Есть ли 9-патч-загрузчик для iPhone? Как изменить стиль TextView во время выполнения Как добавить пузыри в textview android? Ошибка раздувания класса android.support.design.widget.CoordinatorLayout Как я могу получить права root через Android SDK? Android mute / unmute phone Android M странные общие предпочтения SharedPreferences всегда получает значение по умолчанию в моем существующем приложении, но при создании нового приложения его нормально Анимация не начинается до обновления пользовательского интерфейса или события касания Каково точное значение «кухонной мойки» в программировании? Android 6 getAccountName () Отсутствует android.permission.GET_ACCOUNTS Android Market, позиция результатов поиска Mystery

Как установить maxLines и эллипсис TextView одновременно

Я хочу ограничить свой текстовый вид максимум 5 строками, поэтому я сделал:

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

Но когда я пытаюсь настроить его, чтобы добавить «…», когда текст усечен, я добавляю android: ellipsize = «end». Я вижу … но тогда у моего TextView есть только макс строка из 2 вместо 5.

Можете ли вы предложить, как я могу сделать текстовое представление максимальной строки 5 и добавить «…», когда он будет усечен?

Спасибо.

Solutions Collecting From Web of "Как установить maxLines и эллипсис TextView одновременно"

Прогматически вы можете использовать:

 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 эллипсис многострочный textview Это известная ошибка, довольно старая и еще не исправлена ​​:(

Кто-то отправил обходной путь http://code.google.com/p/android-textview-multiline-ellipse/, возможно, это поможет вам (или кому-то еще)

Вам нужно только добавить эту строку в TextView:

 android:ellipsize="marquee" 

Когда я устанавливаю высоту TextView в постоянное значение (например, 50dp), он отлично работает для меня.