How to Underline Text of Button in Android?

前端 未结 5 905
鱼传尺愫
鱼传尺愫 2020-12-23 20:58

I have a button which is transparent and has an icon and text.

I want to underline the text of the button but i have not been able to do this.

Below is my

相关标签:
5条回答
  • 2020-12-23 21:04

    You can't set underline from xml file. To set underline using code you need to set the underline flag on button.

    Button button = (Button) findViewById(R.id.park);
    button.setPaintFlags(button.getPaintFlags() | Paint.UNDERLINE_TEXT_FLAG);
    
    0 讨论(0)
  • 2020-12-23 21:14

    Code only

    Java:

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

    Kotlin:

    val button = findViewById<Button>(R.id.park);
    button.paintFlags = button.paintFlags or Paint.UNDERLINE_TEXT_FLAG
    

    Resource string with static text (xml only)

    If you have a static text in your resources you could also use the following approach in your strings.xml:

    <string name="underlined_text"><u>I\'m underlined</u></string>
    

    Resource string with dynamic text (xml + code)

    If you're using dynamic text but don't like the first approach (which isn't the best imho either), you could also use following:

    strings.xml

    <string name="underlined_dynamic_text"><u>%s</u></string>
    

    Java:

    button.setText(getString(R.string.underlined_dynamic_text, "I'm underlined");
    

    Kotlin:

    button.text = getString(R.string.underlined_dynamic_text, "I'm underlined")
    
    0 讨论(0)
  • 2020-12-23 21:26

    Use this:

    TextView txt=(TextView)findViewById(R.id.txt);
            String styledText = "<u>parking areas</u>";
            txt.setText(Html.fromHtml(styledText), TextView.BufferType.SPANNABLE);
    
    0 讨论(0)
  • 2020-12-23 21:26
    Button button= (Button) findViewById(R.id.park);
    SpannableString content = new SpannableString("Content");
    content.setSpan(new UnderlineSpan(), 0, content.length(), 0);
    button.setText(content);
    
    0 讨论(0)
  • 2020-12-23 21:29

    This should make your ButtonText bold, underlined and italic at the same time.

    strings.xml

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

    To set this String to your TextView, do this in your 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" />
    
    0 讨论(0)
提交回复
热议问题