813 Stimmen

Kann ich Text in einem Android-Layout unterstreichen?

Wie kann ich definieren unterstrichen Text in einem Android-Layout xml Datei?

46voto

Shubham Agarwal Punkte 3802

In Kotlin Erweiterungsfunktion verwendet werden können. Dies kann nur von Code aus verwendet werden, nicht von Xml.

fun TextView.underline() {
    paintFlags = paintFlags or Paint.UNDERLINE_TEXT_FLAG
}

Verwendung:

 tv_change_number.underline()
 tv_resend_otp.underline()

40voto

Re'em Punkte 1601

Um das in Kotlin zu tun:

yourTextView.paint?.isUnderlineText = true

22voto

gprathour Punkte 14158

Einzeilige Lösung

myTextView.setText(Html.fromHtml("<p><u>I am Underlined text</u></p>"));

Es ist etwas spät, könnte aber für jemanden nützlich sein.

22voto

Kirill Vashilo Punkte 1439

Sehen Sie sich den Stil der unterstrichenen anklickbaren Schaltfläche an:

<TextView
    android:id="@+id/btn_some_name"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/btn_add_contact"
    android:textAllCaps="false"
    android:textColor="#57a0d4"
    style="@style/Widget.AppCompat.Button.Borderless.Colored" />

strings.xml:

<string name="btn_add_contact"><u>Add new contact</u></string>

Ergebnis:

enter image description here

16voto

jk7 Punkte 1823

Ein sauberer Weg statt der
textView.setPaintFlags(textView.getPaintFlags() | Paint.UNDERLINE_TEXT_FLAG); Methode ist die Verwendung von textView.getPaint().setUnderlineText(true);

Und wenn Sie später die Unterstreichung für diese Ansicht deaktivieren müssen, z. B. in einer wiederverwendeten Ansicht in einer RecyclerView, textView.getPaint().setUnderlineText(false);

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X