2011-10-19 16 views
6

scrivo questa riga nel strings.xml:Android: rendere i caratteri in grassetto in xml

<string name="Help">This<b>Caaaaaa</b> on the spot.</string> 

Ma i personaggi tra il tag <b> non divento grassetto. Cosa sto facendo in modo errato? PS: Voglio solo fare qualche parte nella stringa (come "Caaaaa" sopra) in grassetto.

risposta

23

Quando si imposta il testo di alcuni widget per questa stringa utilizzare il seguente codice:

In uso strings.xml questo per aggiungere ur stringa:

<string name="Help"> 
    <![CDATA[ 
    This <b>Caaaaaa</b> on the spot. 
    ]]> 
    </string> 

Nella vostra attività

yourWidget.setText(Html.fromHtml(getString(R.string.Help))); 
+0

Grazie ma non funziona! –

+0

eh? @ ZhaoRocky cosa vuoi dire che non funziona? È stato usato per sempre! –

+0

@ZhaoRocky controlla le modifiche –

0

Dai uno sguardo allo here. È possibile impostare lo stile del testo nel file XML del layout.

1

Penso che non si possa farlo nel file string.xml.

ma è possibile impostare textStyle = "bold" dove lo si sta utilizzando.

come-

<TextView android:textSize="18dip" 
    android:layout_height="wrap_content" 
    android:layout_width="wrap_content" 
    android:textColor="@color/white" 
    android:textStyle="bold" 
    android:text="@string/Help" 
    android:id="@+id/header"> 
</TextView> 
+0

Sì, ma usando questo metodo devo aggiungere alcune altre operazioni che riguardano i personaggi- "Caaaaaa", inclusa l'aggiunta di uno o più TextView. :( –

1

Tag in XML, per esempio <string> e <b> non hanno alcun significato intrinseco. Il tag <b> significa solo "in grassetto" se il software che elabora l'XML pensa che significhi grassetto e lo tratti come grassetto. Non hai detto quale software sta elaborando l'XML.

Se questo fosse HTML piuttosto che XML, sarebbe una questione diversa.

+1

Grazie.Io lo scrivo nel file 'strings.xml' e ottengo la stringa da 'String a = res.getString (R.string.Help)'. Quindi l'ho impostato su 'TextView': 'tv.setText (a)'; Quindi, come posso ottenere la stringa in grassetto? –

+0

Sembra che tu stavi facendo la domanda in relazione a un'applicazione in cui il tuo file XML viene utilizzato come un "file di risorse stringa" di Android. Questo è chiaro: i tag XML non hanno significato se non in relazione a un vocabolario specifico. –

Problemi correlati