2013-03-20 15 views
8

Sto cercando di visualizzare 2 elementi in una TextView. È il loro modo di cambiare il carattere del singolo elemento in una vista testo?modificare la dimensione del carattere di un elemento TextView in Android

Ecco l'XML, che sto usando

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" > 

    <TextView 
     android:gravity="center_horizontal" 
     android:paddingTop="5dp" 
     android:paddingBottom="5dp" 
     android:id="@+id/Rowtext" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:orientation="vertical" 
     android:text="Listiems" 
     android:background="@drawable/customshape" 
     /> 

</LinearLayout> 

Grazie :)

+0

In che modo si vuole fare questo. In fase di esecuzione o in XML? –

+3

Vedere questo - http://stackoverflow.com/a/2179039/361230 e questo - http://blog.stylingandroid.com/archives/177 – Shade

+0

@Fahad non ho idea di quale strada c'è di meglio, in modo da u specificare quale modo è meglio fare – Beginner

risposta

5

Un modo è quello di utilizzare il metodo TextView.setText() e dei mangimi con l'HTML, in questo modo:

import android.text.Html; 

String n = "<b>bold</b> <small>small</small>"; 
TextView tv = (TextView) findViewById(...) 
tv.setText(Html.fromHtml(n)); 

Io lo uso spesso per alcune annotazioni minori (come rendere la parte più audace o più piccola)

+0

ehm, domanda era di cambiare font: - risposta/ di Shade sembra buono! – pelotasplus

+0

C'è un errore di battitura nel metodo "fromHtml". Invece dice formHtml. – mpccolorado

0

È possibile utilizzare html per questo l ike this:

mytextView.setText(Html.fromHtml("<p> <font size="20" color="#0066FF" style="font-style:italic">Push this button</font> to start a new game.</p>")) 

rimuovere gli attributi di colore e stile se non ne hai bisogno.

2

utilizzare la classe HTML da questo link http://code.google.com/p/android-richtexteditor/source/browse/trunk/src/net/sgoliver/Html.java?r=4. Saremmo in grado di impostare la dimensione del carattere da questa classe. Normalmente android.text.Html ignora effettivamente la dimensione del carattere. Provato e testato e ha funzionato per me.

TextView tv = (TextView)findViewById(R.id.textview); 

String s = "<p>Some Text here<br><b>hi </b><font size =\"20\"><b><i>\"italics</i></b></font><b><i> </i></b><b><i><u>underline</u></i></b></p>"; 

tv.setText(Html.fromHtml(s)); 
+0

Le dimensioni non funzionano. è possibile utilizzare solo o Tobliug

15

Utilizzare android: textSize.

<TextView 
    android:id="@+id/time" 
    android:gravity="right" 
    android:padding="5dp" 
    android:textSize="40dp" 
    android:textColor="#88ffff00" 
    android:layout_width="0dp" 
    android:layout_height="wrap_content" 
    android:layout_weight="1" 
    android:text="Time: 60"/> 

Utilizzare sp se l'utente può ridimensionare il testo senza interrompere l'interfaccia utente. Se riscalare il testo interromperà l'interfaccia utente, usa dp.

+2

Non è che abbiamo bisogno di usare SP per le dimensioni dei caratteri? Penso che dovrebbe essere 40sp non 40dp –

+0

Grazie! Funziona ... – rzaaeeff

+2

Usa sp se l'utente può ridimensionare il testo senza interrompere l'interfaccia utente. Se riscalare il testo interromperà l'interfaccia utente, usa dp. http://stackoverflow.com/a/11638914/2713250 – Ags1

Problemi correlati