2011-11-03 7 views
0

est-il possible de formater un texte d'élément dans la Listview il regarderait par exemple comme ceci:Android Format Listview texte

partie de la chaîne est en gras et une partie n'est pas

Merci

+0

utilisez-vous des cartes standard ou un adaptateur de liste personnalisé? –

+0

Devinez standard ... – simPod

Répondre

2

Oui, vous devez juste avoir deux textviews différents, un pour le texte en gras et un pour le texte non plié. Il faudrait donc une mise en page pour chaque ligne qui ressemble à ceci:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:orientation="horizontal" 
> 
    <TextView android:id="@+id/bold_field" 
    android:layout_width="wrap_content" 
    android:layout_height="fill_parent" 
    android:textStyle="bold" 
    /> 
    <TextView android:id="@+id/non_bold_field" 
    android:layout_width="wrap_content" 
    android:layout_height="fill_parent" 
    /> 
</LinearLayout> 

Ensuite, vous devriez utiliser un SimpleAdapter pour cartographier les morceaux appropriés de la chaîne à chaque TextView. Si vous voulez que la chaîne apparaisse transparente, vous devrez probablement jouer avec le gravity des TextViews.

+0

mais ... je devrais essayer peut-être. J'ai aimé ListView mais cela semble être le seul moyen. – simPod

+0

Ce n'est pas si grave quand on y pense. :) –

+0

ok, je ne veux pas perdre de temps à l'essayer et ensuite découvrir que je ne peux pas l'utiliser à cause de "quelque chose";) Donc juste pour être sûr, il crée quelque chose avec une mise en page similaire au tableau HTML?

. Chaque TextView est comme dans chaque ? J'espère que ce n'est pas si fou-compliqué :) – simPod

1

Voici une méthode pour formater vos chaînes ..

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <string name="part_bold"><b>%1$s</b> %2$s</string> 
</resources> 

Resources res = getResources(); 
String part_bold_text = String.format(res.getString(R.string.part_bold), bold_string, normal_string); 

la chaîne dans le fichier XML a 2 arguments, on est en gras, l'autre est normal. utilisez ceci pour obtenir une chaîne (part_bold_text) de partie en gras et une partie normale.

HTH.

+0

Est-ce que cela suppose que les chaînes sont statiques et dans un fichier de ressources XML? –

+0

Cela ne fonctionne pas. Le formatage est Normal lorsque je mets cette chaîne dans Listview – simPod