Как подчеркнуть текст кнопки в Android?

Я новичок в программировании на Android. Я разрабатываю простое приложение. У меня есть кнопка, которая прозрачна и имеет значок и текст. Я хочу подчеркнуть текст кнопки, но я не смог этого сделать. Ниже приведен мой xml-код:

<Button
 android:id="@+id/park"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:drawableLeft="@drawable/park"
 android:text="@string/button_name"
 android:background="#00000000"
 android:textColor="#000000"/>

И строковый файл имеет:

<resources>

 <string name="button_name"><u>parking areas</u></string>
</resources

Это утверждение ch работает в текстовом режиме, но не в кнопке.

- любое предложение?

Ответы

Ответ 1

Button button = (Button) findViewById(R.id.park);
button.setPaintFlags(button.getPaintFlags() | Paint.UNDERLINE_TEXT_FLAG);

Ответ 2

Это должно сделать ваш ButtonText жирным, подчеркнутым и курсивным одновременно.

strings.xml

<resources>
    <string name="register"><u><b><i>Copyright</i></b></u></string>
</resources>

Чтобы установить эту строку в TextView, сделайте это в main.xml

<?xml version="1.0" encoding="utf-8"?>
<Button xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/btn1"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:text="@string/register" />

Ответ 3

Используйте это:

TextView txt=(TextView)findViewById(R.id.txt);
        String styledText = "<u>parking areas</u>";
        txt.setText(Html.fromHtml(styledText), TextView.BufferType.SPANNABLE);

Ответ 4

Вы не можете установить подчеркивание из xml файла. Чтобы установить подчеркивание с помощью кода, вам нужно установить флаг подчеркивания на кнопке.

Button button = (Button) findViewById(R.id.park);
button.setPaintFlags(button.getPaintFlags() | Paint.UNDERLINE_TEXT_FLAG);

Ответ 5

Button button= (Button) findViewById(R.id.park);
SpannableString content = new SpannableString("Content");
content.setSpan(new UnderlineSpan(), 0, content.length(), 0);
button.setText(content);