Вопрос:
Я добавил EditText в мой макет и добавил подсказку и сделал его по центру горизонтально.
При запуске приложения подсказка была невидимой. Я обнаружил, что значение ellipsize для TextView должно быть start:
<EditText android:id=»@+id/number1EditText» android:layout_width=»match_parent» android:layout_height=»wrap_content» android:ellipsize=»start» android:ems=»10″ android:gravity=»center_horizontal» android:hint=»@string/hint1″ />
В документации на Android я читал:
Если установлено, вызывает слова, которые длиннее, чем вид широко, чтобы быть эллипсированный, а не разбитый посередине.
Проблема заключается в том, что ellipsize не найден в словаре. Может ли кто-нибудь объяснить мне, какие выгоды мы можем получить с помощью атрибута ellipsize? И в чем разница между start, end, middle?
Лучший ответ:
Вы можете найти документацию здесь.
В соответствии с вашим требованием вы можете попробовать вариант.
to эллипсис, неологизм, означает сокращение текста с помощью ellipsis, т.е. трех точек … или чаще ligature …, чтобы стоять за опущенные биты.
Скажем, исходное значение pf text view aaabbbccc и его соответствие внутри представления
start вывод будет: … bccc
end вывод будет: aaab…
middle вывод будет: aa… cc
marquee вывод будет: aaabbbccc автоматическое перемещение справа налево
Ответ №1
для моего опыта, Ellipsis работает только в том случае, если установлены два атрибута.
android:ellipsize=»end» android:singleLine=»true»
для ширины textview, wrap_content или match_parent оба должны быть хорошими.
Ответ №2
How to Add an ellipsis in a TextView
android: эллипсизация добавлена в API уровня 1. Эллипсис состоит из трех периодов подряд. (…).
В вашем Xml
<TextView …. android:text=»Hi I am Amiyo,you can see how to ellipse works.» android:ellipsize = «end» />
В этот момент эллипс пока не будет отображаться, так как TextView будет автоматически расширяться по умолчанию при вводе нового текста. Вам нужно будет ограничить TextView каким-то образом. Сделайте это, вы можете использовать либо добавить в свой TextView a scrollHorizontally, minLines, or maxLines для отображения эллипсиса.
Чтобы сделать эллипс:
at the end: this is how it would… use: android:ellipsize = «end»
И
in the middle: this is …how it would use: android:ellipsize = «middle»
и
at the start: …this is how it would use: android:ellipsize = «start»
И
to have no ellipse use: android:ellipsize = «none»
Примечание. Пожалуйста,
Do not use android:singeLine = «true», it is deprecated. android:maxLines = «1» will not display the three dots (…) android:lines = «1» will not display the three dots (…)
Более подробную информацию вы можете найти здесь
http://developer.android.com/reference/android/widget/TextView.html#attr_android%3aellipsize
Ответ №3
ellipsis – это три периода подряд…
TextView будет использовать многоточие, если он не может расширяться, чтобы показать весь текст. Атрибут ellipsized устанавливает положение трех точек, если это необходимо.
Ответ №4
Текст
This is my first android application and I am trying to make a funny game, It seems android is really very easy to play.
Предположим, что выше ваш текст, и если вы используете атрибут ellipsize start, он будет выглядеть следующим образом
This is my first android application and …t seems android is really very easy to play.
с атрибутом end
This is my first android application and I am trying to make a funny game,… Ответ №5
Примечание. Ваш текст должен быть больше, чем поле контейнера, для следующего:
android:ellipsize=»marquee» Ответ №6
Установите это свойство для редактирования текста. Elipsize работает с отключенным текстом редактирования
android:lines=»1″ android:scrollHorizontally=»true» android:ellipsize=»end» android:singleLine=»true» android:editable=»false»
или setKeyListener (null);
Ответ №7
Вот пример того, как работает ellipsize без использования устаревшего android:singleLine=»true» в ConstraintLayout:
<TextView android:layout_width=»0dp» android:layout_height=»wrap_content» android:textSize=»13sp» android:ellipsize=»end» android:maxLines=»2″ app:layout_constraintEnd_toEndOf=»parent» app:layout_constraintStart_toStartOf=»parent» tools:text=»long long long long long long text text text» />
помните, если у вас есть текст, который должен быть в одной строке, то измените maxLines на 1.