Я добавил 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
?
android
android-layout
textview
Хамзех Собох
источник
источник
Ответы:
Вы можете найти документацию здесь .
На основании ваших требований вы можете попробовать в соответствии с вариантом.
ellipsize , неологизм, означает сокращение текста, используя многоточие , то есть три точки
...
или более часто лигатуры…
, чтобы заменить пропущенные биты.Скажем, исходное значение текстового представления aaabbbccc и его подгонка внутри представления
start
вывод будет: ... BCCCend
вывод будет: аааб ...middle
вывод будет: aa ... ccmarquee
вывод будет: aaabbbccc авто скольжения справа налевоисточник
по моему опыту, Ellipsis работает, только если установлены два атрибута ниже.
для ширины textview хорошо подойдут как wrap_content, так и match_parent.
источник
android:singleLine
устарела начиная с уровня API 3, поэтому вместо этого используйтеandroid:maxLines
. Обратите внимание:> если указаны и singleLine, и inputType, флаги inputType переопределяют значение singleLine. Проверьте документы в R.attr.html # singleLineHow to Add an ellipsis in a TextView
Android: многоточие добавлено в API уровня 1. Многоточие - три периода подряд. (...)
В вашем XML
На этом этапе многоточие еще не будет отображаться, поскольку TextView настроен на автоматическое расширение по умолчанию при вводе нового текста. Вам нужно будет каким-то образом ограничить TextView. Сделайте это, вы можете использовать либо добавить в свой
TextView a scrollHorizontally, minLines, or maxLines
иметь отображение многоточия.Чтобы сделать эллипс:
И
И
И
Обратите внимание, пожалуйста:
Для более подробной информации вы можете посетить здесь
источник
многоточие три периода подряд ...
TextView будет использовать многоточие, когда он не может развернуться, чтобы показать весь его текст. Атрибут
ellipsized
устанавливает положение трех точек, если это необходимо.источник
Текст:
Предположим, выше указан ваш текст, и если вы используете атрибут
ellipsize
's',start
он будет выглядеть такс
end
атрибутомисточник
Вот пример того, как работает ellipsize без использования устаревших
android:singleLine="true"
в ConstraintLayout:помните, если у вас есть текст, который должен быть в одной строке, то измените maxLines на 1.
источник
android:layout_width="0dp"
вместоandroid:layout_width="wrap_content"
. Обратите внимание, что это применимо, потому что я используюConstraintLayout
. Также здесь обсуждается stackoverflow.com/a/48149405/2848676Примечание: ваш текст должен быть больше, чем поле контейнера, чтобы выделилось следующее:
источник
Установите это свойство для редактирования текста. Elipsize работает с отключением редактирования текста
или setKeyListener (null);
источник
Используйте многоточие, когда у вас есть фиксированная ширина, тогда он автоматически обрежет текст и покажет многоточие в конце,
Это не будет работать, если вы установите layout_width как wrap_content & match_parent.
источник