Дополнительно
Можно ли подчеркнуть текст в макете Android?
Как определить подчеркнутый текст в xml
файле макета Android?
638
20
Как определить подчеркнутый текст в xml
файле макета Android?
Этого можно добиться, если использовать строчный ресурс xml-файл, который поддерживает HTML-тэги
,
и ``.Если вы хотите подчеркнуть что-либо в коде, используйте:
Вы можете попробовать с
Приведенный выше "принятый" ответ НЕ работает (при попытке использовать строку типа
textView.setText(Html.fromHtml(String.format(getString(...), ...)))
.Как указано в документации, необходимо экранировать (в кодировке html-сущности) открывающую скобку внутренних тегов с помощью
<
, например, результат должен выглядеть следующим образом:Затем в коде можно задать текст с помощью:
Содержание файла Strings.xml:
Макет xml-файла должен использовать указанный выше строковый ресурс с приведенными ниже свойствами textview, как показано ниже:
Для кнопки и TextView это самый простой способ:
Кнопка:
Виджет TextView:
Одним из решений линия
myTextView.помощью setText(формат HTML.fromHtml (и"<п><у>Я подчеркнул текст</п></п> наша"));
Это немного поздно, но может быть полезным для кого-то.
В Котлин функции расширения могут быть использованы. Это можно использовать только код, а не xml-файле.
Использование:
Последнее рисование подчеркнутый текст описывается Ромен парень средний с исходным кодом, доступным на на GitHub. Этот образец приложения демонстрирует две возможных реализации:
Я знаю, что это поздний ответ, но я придумал решение, которое работает довольно хорошо... я принял ответ от Энтони Forloney для подчеркивания текста в код и создал подкласс виджет TextView, который обрабатывает это для вас. Затем вы можете просто использовать подкласс в XML, когда вы хотите иметь подчеркнутое поле TextView.
Вот класс, который я создал:
Теперь... всякий раз, когда вы хотите создать подчеркнутое поле TextView в XML, вы просто выполните следующие действия:
Я добавил дополнительные варианты в этой XML-фрагмент, чтобы показать, что мой пример работает с изменяя цвет текста, размер и стиль...
Надеюсь, что это помогает!
Более рациональный способ вместо
поле TextView.setPaintFlags(поле TextView.getPaintFlags() | краска.UNDERLINE_TEXT_FLAG);
метод состоит в использованииполе TextView.getPaint().setUnderlineText(истина);
И если вам нужно позже выключить подчеркивание Для что посмотреть, например, в повторно смотреть в RecyclerView,
поле TextView.getPaint().setUnderlineText(ложь);
проверьте подчеркнул кликабельная кнопка стиль:
strings.xml:
Результат:
Я использовал этот XML-мешочки, чтобы создать нижнюю границу и прикладной папке drawable в качестве фона для моего виджет TextView
Просто используйте <у> атрибут строки в файл ресурсов, например
Блин, это самый простой в использовании
Весь подчеркнутый элемент TextView
Подчеркнуть какую-то часть объекта TextView
проверить мой ответ здесь, чтобы сделать кликабельные подчеркивание текста, подчеркивание различных частей объекта TextView
Простое и гибкое решение в XML:
другое решение-создать настраиваемое представление, продлить виджет TextView, как показано ниже
и просто добавить в XML, как показано ниже
Я упростил Самуил'ы ответа:
попробуйте этот код
в XML
в коде
Удачи!
Кроме того, следующий код не будет печатать подчеркнуть:
Вместо этого, используйте следующий код, чтобы сохранить форматированный текст:
<б>"Вы можете использовать либо метода getString(инт) или gettext(int) получать строку. то gettext(инт) сохраняет богатый текстовый стиль применяется к строке.&и"</б> Андроид документации.
Обратитесь к документации: https://developer.android.com/guide/topics/resources/string-resource.html
Я надеюсь, что это помогает.
Обратите внимание на символ побег в XML-файл