Intereting Posts
Как связать любую библиотеку в приложении ndk Предварительный просмотр Android Studio Designer не показывает правильные размеры Элементы ввода на android 4.x не могут быть созданы при фокусировке Как отобразить текущее значение предпочтения Android в сводке предпочтений? Диалоговое окно прогресса позиционирования Android или диалоговое окно Custom Progress Android UnsupportedOperationException: невозможно преобразовать в цвет: type = 0x2 Почему для местоположения игровых сервисов необходимы разрешения android.permission.WRITE_EXTERNAL_STORAGE и android.permission.READ_EXTERNAL_STORAGE? Собственный доступ для камеры Android: startPreview () vs startRecording () Android queryIntentActivities всегда возвращает пустой список Mvn android: развертывание не работает (несмотря на подтверждение успеха) Android: что-то лучше, чем андроид: ellipsize = "end", чтобы добавить «…» к укороченным длинным строкам? Где файл данных приложения фактически хранится на устройстве Android? Архитектура Stagefright Компиляция Imagemagick для Android с использованием NDK Проверка подписи Android

Android: что-то лучше, чем андроид: ellipsize = "end", чтобы добавить «…» к укороченным длинным строкам?

Это свойство делает

«Короткое и очень длинное слово»

в

"Короткий и"

, Но я хочу иметь что-то. как

«Короткий и очень-долго …»

Прямо сейчас я усекаю строку в коде Java. Однако это зависит от количества символов, а не от фактической длины ссылки. Итак, результат не очень приятный.

String title; if(model.getOrganization().length() > 19) { title = model.getText().substring(0, 15).trim() + "…"; } else { title = model.getText(); } ((TextView) findViewById(R.id.TextViewTitle)).setText(title); 

Обновить

Только что заметили, это свойство фактически добавляет «…» в нескольких случаях. Но не во всех из них:

12345678901234567890 становится "12345678901234 …"

Однако,

"1234567890 1234567890" становится "1234567890", а не "1234567890 123 …"

Обновление 2

Теперь это действительно фанки! Я просто установил singleLine = true и удалил maxLine (появляется ошибка с атрибутом ellipsize и без него) …

Alt text

Это снимок экрана от Motorola Milestone с обновлением android 2.1. То же самое происходит и с HTC Desire с той же версией Android

Обновление 3

Теперь я использую android: ellipsize = "marquee". Кажется, это единственно правильная рабочая настройка. Он также движется только при фокусировке. Я вижу это и во многих других приложениях. Я думаю, его обычная практика.

Solutions Collecting From Web of "Android: что-то лучше, чем андроид: ellipsize = "end", чтобы добавить «…» к укороченным длинным строкам?"

Если это для одной линии, попробуйте следующее:

 android:ellipsize="end" android:maxLines="1" android:scrollHorizontally="true" android:singleLine="true" 

Это сработало для меня.

У меня была аналогичная проблема и установка этого свойства в TextView помогла:

 android:singleLine="true" 

Кроме того, я использовал RelativeLayout, поэтому я ограничил пространство, которое мог бы использовать TextView, установив левое поле на кнопку справа от TextView, чтобы текст не мог расширяться дальше и был вынужден усекать его содержимое.

Возможно, это не решение вашей проблемы, но это помогло мне в аналогичной ситуации.

См. Мое обновление 3. В обходном пути использовалась команда «marquee». В это время я видел множество приложений. Теперь, с новыми версиями Android, эта функция, скорее всего, исправлена ​​и будет работать, как ожидалось. (мое предположение)

Может быть, вы можете взглянуть на то, как работает обычный класс Ellipsizer, используемый ОС, и изменить его для вашего приложения?

Изменить: Вот рабочая ссылка: http://androidxref.com/5.1.0_r1/xref/frameworks/base/core/java/android/text/Layout.java#1830