- 5 Amazing Ways To Underline A TextView In Android
- 1 – Underline a TextView in Android – Using Html.fromHtml()
- 1.2 Above underline method in a direct way
- 1.3 – Underline TextView In Android Using String resource & HtmlCompat.fromHtml()
- 2. Underline Using Paint Flags
- 3.1 Underline using SpannableString
- 3.2 Underline Using SpannableString
- 4. Underline Using Layerlist Drawable
- 5. Underline using Shape Drawable
- A Small Surprise – 6. Underline Using View element
- Create Android Studio Project – UnderlineTextView ex
- Русские Блоги
- Несколько способов добавить подчеркивание в Android TextView
- Чтобы нарисовать подчеркивание под TextView в Android
- ОТВЕТЫ
- Ответ 1
- Ответ 2
- Ответ 3
- Ответ 4
- Ответ 5
- Ответ 6
- Чтобы нарисовать подчеркивание под TextView в Android
- Могу ли я подчеркнуть текст в макете android?
- 20 ответов
- одна линия решение
5 Amazing Ways To Underline A TextView In Android
Do you want to underline a TextView in Android?
In this post, you will learn how to underline a TextVew and also learn to change underline color.
You can download Java & Kotlin Source code too.
Okay, let’s get started.
1 – Underline a TextView in Android – Using Html.fromHtml()
It’s the simplest way. Html.fromHtml() method helps us to render HTML code in TextView.
But Html.fromHtml(resource : String) was deprecated in API 24. So now you can use HtmlCompat.fromHtml() method. It’s available in both android.support.v4.text.HtmlCompat, and androidx.core.text.HtmlCompat.
But androidx.core.text.HtmlCompat is the latest one. For that, you must include the dependency in gradle file.
1.2 Above underline method in a direct way
This is for beginners. You can directly implement the code just like below.
1.3 – Underline TextView In Android Using String resource & HtmlCompat.fromHtml()
In this method, we use strings.xml to store our HTML code and access using getString() method inside HtmlCompat.fromHtml() method.
2. Underline Using Paint Flags
You can use Paint flags to make underline below TextView. Use Paint.UNDERLINE_TEXT_FLAG.
3.1 Underline using SpannableString
You can underline TextView using SpannableString and setSpan() method with the help of UnderlineSpan().
3.2 Underline Using SpannableString
You can underline wherever you want in a word or sentence. Just Specify the start and endpoints.
Here 4 is the start point and 13 is the endpoint.
4. Underline Using Layerlist Drawable
You can use XML drawable to make underline. Here I am going to talk about LayerList Drawable.
Make a drawable named underline_layerlist.xml, and paste below code.
Change Underline color using android:color attribute.
Here I used solid element color as transparent. If not, the solid element color becomes black in older devices (below Lolipop).
Change underline width using android:width attribute.
5. Underline using Shape Drawable
Using Line shape we can create Underline below TextView Just like this.
Here android:width and android:color are defines underline stroke and color just like layerlist drawable.
A Small Surprise – 6. Underline Using View element
Here I just made a line using View element and place it below the TextView.
Create Android Studio Project – UnderlineTextView ex
Let’s create an Android Studio project with the above code examples.
Open your Android Studio,
Start a new Android Studio Project.
Application Name: UnderlineTextView Ex
Select minimum SDK:API 15 – Android 4.0.3 (Ice Cream Sandwich) and click Next.
Next dialog, Select Empty Activity and click Next.
Activity Name: MainActivity
Check Generate layout file
Источник
Русские Блоги
Несколько способов добавить подчеркивание в Android TextView
В общем, есть около 5 способов сделать это.:
Запишите текст для обработки в файл ресурсов,Например, string.xml (отформатированный с использованием html)
Когда в тексте появляются URL, адрес электронной почты, номер телефона и т. Д., Вы можете изменить TextView.android: атрибут autoLinkУстановите соответствующее значение, если все типы выходят, это ** android: autoLink = «all»,
Конечно, это также можно сделать в java-коде,textView01.setAutoLinkMask(Linkify.ALL); **
использоватьFromHtml () класса HtmlМетод форматирования текста, который будет помещен в TextView, такой же, как и у первого типа, за исключением того, что он динамически задается кодом.
Установите свойство Paint TextView:tvTest.getPaint (). setFlags (Paint. UNDERLINE_TEXT_FLAG); // подчеркивание
Используйте Spannable или класс, который его реализует, напримерSpannableStringЧтобы отформатировать часть строки.
Также есть введение в блог:Китайский текст Android TextView использует SpannableString для установки гиперссылок, цветов, шрифтов и других атрибутов.
Если он находится в файле ресурсов:
1. Установите атрибут подчеркивания в строковом ресурсе.
Просто позвольте TextView ссылаться на имя строкового ресурса.
2. TextView устанавливает атрибут autoLink.
Если это в коде:
1. Используйте Html.fromHtml ()
2. Используйте свойства Paint в TextView.
3. Используйте класс SpannableString.
Настройте стиль гиперссылки в коде:
Источник
Чтобы нарисовать подчеркивание под TextView в Android
Я хочу нарисовать подчеркивание ниже моего TextView . Я искал несколько материалов, но не мог найти ничего полезного.
Кто-нибудь может помочь мне здесь?
ОТВЕТЫ
Ответ 1
Существует три способа подрыва текста в TextView.
Позвольте мне объяснить вам все подходы:
1-й подход
Чтобы поднять текст в TextView, вы должны использовать SpannableString
Второй подход
Вы можете использовать setPaintFlags метод TextView, чтобы подчеркнуть текст TextView.
Вы можете ссылаться на константы класса Paint, если хотите нанести удар по тексту.
Третий подход
ИЛИ
Ответ 2
просто окружает ваш текст с помощью в файле ресурсов string.xml
и в вашей деятельности/фрагменте
Ответ 3
Его работы для меня.
Ответ 4
Для всех, кто все еще смотрит на это querstion. Это для гиперссылки, но вы можете изменить ее для простого подчеркивания:
Создайте drawable (hyperlink_underline.xml):
Создайте новый стиль:
Затем используйте этот стиль в TextView:
Ответ 5
Простое и устойчивое решение — создать список слоев и сделать его фоном вашего TextView:
Ответ 6
Если ваш TextView имеет фиксированную ширину, альтернативным решением может быть создание представления, которое будет выглядеть как подчеркивание и расположить его прямо под вашим TextView.
Источник
Чтобы нарисовать подчеркивание под TextView в Android
Я хочу нарисовать подчеркивание под моим TextView . Я просмотрел несколько материалов, но не нашел ничего полезного.
Может ли кто-нибудь помочь мне здесь?
В TextView есть три способа выделить текст в нижнюю часть.
Позвольте мне объяснить вам все подходы:
1-й подход
Для подчеркивания текста в TextView вы должны использовать SpannableString
2-й подход
Вы можете использовать метод setPaintFlags TextView, чтобы подчеркнуть текст TextView.
Вы можете ссылаться на константы класса Paint, если хотите пробиться сквозь текст.
3-й подход
ИЛИ
просто окружите свой текст тегом в файле ресурсов string.xml
и в вашей деятельности / фрагменте
Это работает для меня.
Для тех, кто все еще просматривает этот вопрос. Это для гиперссылки, но вы можете изменить ее для простого подчеркивания:
Создайте файл для рисования (hyperlink_underline.xml):
Создайте новый стиль:
Затем используйте этот стиль в своем TextView:
Если ваш TextView имеет фиксированную ширину, альтернативным решением может быть создание View, которое будет выглядеть как подчеркивание, и расположить его прямо под вашим TextView.
Простое и надежное решение — создать список слоев и сделать его фоном для TextView:
- String html = «Underline using Html.fromHtml()«; textview.setText(Html.fromHtml(html));
Но Html.fromHtml (ресурс String) устарел в API 24.
Таким образом, вы можете использовать последнюю версию библиотеки поддержки Android androidx.core.text.HtmlCompat . Перед этим вам нужно включить зависимость в свой проект.
- String html = » 1.1 Underline using HtmlCompat.fromHtml()«; //underline textview using HtmlCompat.fromHtml() method textview11.setText(HtmlCompat.fromHtml(html, HtmlCompat.FROM_HTML_MODE_LEGACY));
Используя strings.xml ,
- 1.3 Underline using HtmlCompat.fromHtml() and string resource
используя PaintFlags
- textview2.setPaintFlags(textview2.getPaintFlags() | Paint.UNDERLINE_TEXT_FLAG); textview2.setText(«2. Underline using setPaintFlags()»);
с использованием SpannableString
Источник
Могу ли я подчеркнуть текст в макете android?
Как я могу определить подчеркнутый текст в макете Android ?
20 ответов
Это может быть достигнуто, если вы используете string resource xml-файл, который поддерживает HTML-теги, такие как , и .
если вы хотите подчеркнуть что-то из кода использовать:
» принятый » ответ выше делает не работа (при попытке использовать строку, как textView.setText(Html.fromHtml(String.format(getString(. ), . ))) .
как говорится в документация вы должны избежать (HTML entity encoded) открытие скобки внутренних тегов с , например, результат должен выглядеть так:
потом в коде можно задать текст:
решение одной строки:
макет xml-файла shold используйте вышеуказанный строковый ресурс с нижеприведенными свойствами textview, как показано ниже:
для кнопки и TextView это самый простой способ:
одна линия решение
I am Underlined text
Это немного поздно, но может быть полезным для кого-то.
Я знаю, что это поздний ответ, но я придумал решение, которое работает довольно хорошо. Я взял ответ от Энтони Форлони для подчеркивания текста в коде и создал подкласс TextView, который обрабатывает это для вас. Затем вы можете просто использовать подкласс в XML всякий раз, когда вы хотите иметь подчеркнутый TextView.
вот класс, который я создал:
сейчас. всякий раз, когда вы хотите создать подчеркнутый textview в XML, вы просто делаете следующий:
я добавил дополнительные параметры в этот фрагмент XML, чтобы показать, что мой пример работает с изменением цвета, размера и стиля текста.
надеюсь, что это помогает!
проверьте подчеркнутый кликабельный стиль кнопки:
строки.XML-код:
самый последний подход рисования подчеркнутым текстом описан Ромэном Гаем на средний С доступным исходным кодом на GitHub. Этот пример приложения предоставляет две возможные реализации:
- реализация на основе Пути, которая требует уровня API 19
- реализация на основе региона, которая требует уровня API 1
Источник