2015-07-30 12 views
16

Sono un nuovo programmatore Android. Sto sviluppando una semplice app. Ho un pulsante che è trasparente e ha un'icona e un testo. Voglio sottolineare il testo del pulsante ma non sono stato in grado di farlo. Qui di seguito è il mio codice XML:Come sottolineare il testo del pulsante in Android?

<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"/> 

e il file di stringa ha:

<resources> 

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

Questo approa ch lavora in TextView ma non in pulsante.

-un suggerimento?

+1

prega di dare un'occhiata http://stackoverflow.com/questions/8033316/to-draw-an-underline-below-the-textview-in-android/8033336#8033336 – Nivedh

+0

Sì, avevo già passato questo articolo Questo è per textview nel qual caso questo funziona perfettamente. Ma lo stesso metodo non funziona per il testo del pulsante – user3303274

risposta

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

Mi è voluto molto tempo per tornare indietro! Ma guadagnando più esperienza su Android ormai, ho capito che questa soluzione avrebbe funzionato perfettamente. Grazie per l'aiuto. – user3303274

3

Utilizzare questa:

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

Questo dovrebbe rendere la vostra ButtonTextgrassetto, sottolineato e corsivo allo stesso tempo.

strings.xml

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

Per impostare questa stringa alla TextView, fare questo nella vostra 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

Non vedo alcuna differenza tra il tuo e il mio codice. Questa è una copia diretta di una risposta da un altro articolo stackflow. non ha funzionato – user3303274

+0

Questa porzione di codice funzionava anche per i pulsanti. Quale versione del sistema operativo si sta utilizzando? –

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

Non è possibile impostare sottolineatura da file xml. Per impostare la sottolineatura usando il codice è necessario impostare il flag di sottolineatura sul pulsante.

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

Ho provato il tuo codice. Ma hai un errore in Paint.UNDERLINE_TEXT_FLAG - qualche idea? – user3303274

+0

prova ad aggiungere l'importazione android.graphics.Paint. Se ricevi ancora un errore, condividi i dettagli dell'errore –

Problemi correlati