Android textview with underline

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.

Читайте также:  Valkyrie profile lenneth android

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:

Читайте также:  Можно ли найти андроид по почте

  1. String html = «Underline using Html.fromHtml()«; textview.setText(Html.fromHtml(html));

Но Html.fromHtml (ресурс String) устарел в API 24.

Таким образом, вы можете использовать последнюю версию библиотеки поддержки Android androidx.core.text.HtmlCompat . Перед этим вам нужно включить зависимость в свой проект.

  1. 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. 1.3 Underline using HtmlCompat.fromHtml() and string resource

используя PaintFlags

  1. 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

Источник

Оцените статью