Intereting Posts
Android: отображение неопределенного индикатора выполнения в TabHost Как играть видео в Youtube в режиме просмотра Android? Как разместить элементы ActionBar в главной панели ActionBar и нижней панели Еще один getView вызвал несколько раз Невозможно разместить плавучую кнопку действия (FAB) между заголовком и элементами в DrawerLayout с помощью RecyclerView Android JNI APK Packing Возможно ли «понравиться» странице «fan» с помощью SDK для Facebook? Приостановить приложение Android с помощью Phonegap Могу ли я рисовать за пределами холста Android Пустые файлы, загруженные в Android. Исходный браузер. Android Writing Logs в текстовый файл RecyclerView – прокрутка до позиции не работает каждый раз Изменение высоты и ширины EditText во время выполнения с некоторой анимацией Изменение размера растрового изображения на фиксированное значение, но без изменения соотношения сторон Как изменить цвет края прокрутки и пролить свет

Почему TextView в одной строке отображается с помощью «end» show boxes?

Я использую TextView в Android, и я хочу показать 1 строку в TextView, заканчивающуюся на «.», Но это дает поле типа [] в конце. Я не знаю почему? Я просто хочу удалить эту коробку и только показать текст, заканчивающийся на «…»

Текстовое окно с изображением TextView

Обновить код для list_row.xml

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="85dp" android:orientation="horizontal" android:gravity="center_vertical" android:cacheColorHint="#4C7B8D" android:background="#4C7B8D"> <ImageView android:id="@+id/videoListImage" android:src="@drawable/audio_thumbnail60x60" android:layout_height="75dp" android:layout_alignParentLeft="true" android:layout_centerInParent="true" android:scaleType="fitXY" android:layout_width="75dp" android:padding="4dp" android:background="@color/light_gray" /> <RelativeLayout android:layout_width="fill_parent" android:layout_height="fill_parent"> <LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_marginRight="5dp" android:layout_toLeftOf="@+id/next_arrow" android:orientation="vertical" android:gravity="center_vertical" android:paddingLeft = "5dp"> <TextView android:id="@+id/row_title" android:layout_width="fill_parent" android:layout_height="wrap_content" android:singleLine="true" android:textColor="@color/app_background_color" android:textSize="18sp" android:ellipsize="end" android:maxLines="1" /> <TextView android:id="@+id/row_dis" android:layout_width="fill_parent" android:layout_height="wrap_content" android:singleLine="true" android:textColor="@color/color_black" android:layout_marginRight="2dp" android:textSize="15sp" android:ellipsize="end" android:maxLines="1" /> <TextView android:text="$7.50" android:id="@+id/audio_price_btn" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="16dp" android:textColor="@color/color_white" android:textStyle = "bold" android:paddingLeft = "12dp" android:paddingRight = "12dp" android:background="@drawable/blue_round_cornor_background" /> </LinearLayout> <ImageView android:id="@+id/next_arrow" android:src="@drawable/next_arrow" android:layout_toLeftOf="@+id/saved_purchased" android:scaleType="fitXY" android:layout_height="25dp" android:layout_width="18dp" android:layout_centerVertical="true" android:visibility = "gone"/> <ImageView android:id="@+id/saved_purchased" android:layout_alignParentRight="true" android:layout_alignParentTop ="true" android:scaleType="fitXY" android:layout_height="25dp" android:layout_width="25dp" android:layout_marginRight="2dp"/> </RelativeLayout> 

Вот изображения "next_arrow" Введите описание изображения здесь

Вот код, который я использую getView () в адаптере.

  String discription = listData.getDescription(); if (discription != null && discription.length() > 0) { if (textViewDis != null) { textViewDis.setTypeface(titleFont); Log.e("data", ""+discription); discription.replaceAll("\r\n", ""); textViewDis.setText(discription); } } 

Вот фактическая строка описания для отображения.

Эндрю и Стефани Тидвелл откровенно делятся своей историей успеха в этом бизнесе. Эта история поможет всем услышать, что никто не идеален даже в бизнесе второго поколения. Это потоковый аудиофайл.

Все еще есть проблема? Я могу уточнить вопрос.

Solutions Collecting From Web of "Почему TextView в одной строке отображается с помощью «end» show boxes?"

Цитируя себя из одной из моих книг :

Класс TextView от Android имеет встроенную способность «эллипсоизировать» текст, обрезая его и добавляя многоточие, если текст длиннее доступного пространства. Вы можете использовать это через атрибут android: ellipsize, например. Это работает достаточно хорошо, по крайней мере для однострочного текста. Эллипсис, который использует Android, – это не три периода. Скорее, он использует фактический многоточий характер, где три точки содержатся в одном глифе. Следовательно, для любого шрифта, который вы используете, для которого вы также используете функцию «эллипсинга», нужен эллиптический символ.

Кроме того, Android выталкивает строку, которая отображается на экране, так что длина (в символах) одинакова до и после «эллипсинга». Чтобы сделать эту работу, Android заменяет один символ эллипсисом и заменяет все остальные удаленные символы символом Unicode «ZERO WIDTH NO-BREAK SPACE» (U + FEFF). Это означает «лишние» символы после того, как многоточие не отображает видимое пространство на экране, но они могут быть частью строки.

Однако это означает, что любые пользовательские шрифты, которые вы используете для виджетов TextView, которые вы используете с android: ellipsize также должны поддерживать этот специальный символ Unicode. Не все шрифты, и вы получите артефакты в экранном представлении ваших сокращенных строк, если ваш шрифт не имеет этого символа (например, жулик X появляется в конце строки).

Я столкнулся с той же проблемой, когда пытался использовать пользовательский «MetaPro-Medium.otf» в качестве шрифта для TextView с android:singleLine="true" . Коробка в конце строки была очень раздражающей.

Я не нашел способа решить эту проблему на Android, но в то же время нашел следующую работу.

  1. Я установил "FontLab Studio v5.04"
  2. Открыл мой шрифт
  3. Выбранный один из символов, который я не собирался использовать
  4. Menu-> Glyph-> Rename Glyph
  5. Изменено имя и индекс юникода от его первоначального значения до «FEFF» (Thank CommonsWare)
  6. Дважды щелкните по выбранному символу, а затем удалите все строки, из которых был создан этот символ.
  7. Меню-> Файл-> Сгенерировать шрифт-> сохранить как тип otf

В результате я получил обновленный шрифт и проблема исчезла.

Я сталкиваюсь с той же проблемой (show boxes ([])) для некоторых специальных символов, когда я пытаюсь показать контент, который поступает из url webservice, даже я не использую android: ellipsize. То я заменяю код из

 textview.settext(content); 

в

 textview.settext(Html.fromHtml(content)); 

Работая нормально.

На самом деле я столкнулся с этой проблемой, и вместо того, чтобы менять шрифт или использовать setText, я просто добавил scrollHorizontally как false, и он установил дополнительный символ поля

 android:singleLine="true" android:scrollHorizontally="false" android:ellipsize="end" 

Арслан, ваш макет отлично работает в моем случае, я тестировал то же самое:

  <TextView android:id="@+id/row_title" android:layout_width="fill_parent" android:layout_height="wrap_content" android:singleLine="true" android:textSize="18sp" android:ellipsize="end" android:maxLines="1" android:text="This is the demo testing demo testing This is the demo testing demo testing"/> 

… и получения точного результата, как вы хотите, «одна строка закончилась с …», и поле должно быть удалено. Поэтому я думаю, что может быть что-то не так с любым персонажем или текстом, который вы устанавливаете.

Была аналогичная проблема, с которой я столкнулся в своем проекте, где в i я использовал тип шрифта для текстового представления. Несколько типов шрифтов имеют эту проблему, чтобы сделать … отображаться как [] в последний раз. Проблема будет решена, если вы попробуете изменить шрифт.