galldup Posté(e) 13 juin 2010 Share Posté(e) 13 juin 2010 Bonjour, Je travaille sur un programme qui consiste à faire afficher à l'écran deux textes dynamiques qui se suivent automatiquement. Je voudrais que mes deux textes (variable text et text_tempo) se suivent sur l'écran quelque que soit leurs tailles... Tout d'abord, voici mon layout : xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content" android:scrollbars="vertical"> android:id="@+id/text" android:background="@drawable/box" android:layout_width="wrap_content" android:layout_height="wrap_content" /> android:id="@+id/text_tempo" android:background="@drawable/box" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_toRightOf="@+id/text" /> Avec le code que j'ai mis ci dessus, cela fonctionne mais le deuxième texte (text_tempo) ne saute pas à la ligne alors que je le voudrais... Par exemple, si j'ai : text = "mon texte et" text_tempo = "mon texte tempo" A l'écran, cela donne : _______________ | mon texte et | | mon | | texte | | temp | | o| Moi, je voudrais avoir ça : _______________ | mon texte et | | mon texte tempo | | | tout en sachant que mon texte (text) s'enrichit au fur et à mesure : Ce qui devrait donner à l'écran : _______________ | mon texte s'est | | enrichis et mon | | texte tempo | | | Connaissez vous l'astuce ? Edit : précision, j'arrive exactement au même résultat avec un LinearLayout : xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal" android:layout_width="wrap_content" android:layout_height="wrap_content"> android:id="@+id/text" android:background="@drawable/box" android:layout_width="wrap_content" android:layout_height="wrap_content" /> android:id="@+id/text_tempo" android:background="@drawable/box" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBottom="@+id/text" /> Lien vers le commentaire Partager sur d’autres sites More sharing options...
eephyne Posté(e) 13 juin 2010 Share Posté(e) 13 juin 2010 tu peut pas faire text += text_tempo , à chaque fois que tu modifie la variable text ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
galldup Posté(e) 13 juin 2010 Auteur Share Posté(e) 13 juin 2010 Si mais le problème, c'est que je souhaite mettre deux couleurs différentes pour les deux variables. Par exemple, la variable text en gris et la variable tempo en bleue. C'est pour ça que j'ai crée deux objets textviews... Lien vers le commentaire Partager sur d’autres sites More sharing options...
eephyne Posté(e) 13 juin 2010 Share Posté(e) 13 juin 2010 je dit peut être une bétise parceque j'utilise pas beaucoup les interface encore mais si tu inclus le deuxième textbox à l'intérieur du premier (est ce seulement possible?) , ça donnerait quoi? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Profete162 Posté(e) 13 juin 2010 Share Posté(e) 13 juin 2010 tu peux aussi jouer avec cela: http://stackoverflow.com/questions/2912208/what-options-i-have-to-show-a-sentence-parts-with-different-color Lien vers le commentaire Partager sur d’autres sites More sharing options...
Pierre87 Posté(e) 13 juin 2010 Share Posté(e) 13 juin 2010 SpannableBuilder et Spannable.Factory Lien vers le commentaire Partager sur d’autres sites More sharing options...
galldup Posté(e) 13 juin 2010 Auteur Share Posté(e) 13 juin 2010 A eephyne : C'est pas bête mais un peu bidouille, non ? A Profete162, Pierre87 : Ca m'a l'air pas mal. Je vais essayer ça. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Alocaly Posté(e) 14 juin 2010 Share Posté(e) 14 juin 2010 Plus simplement, ton align_Bottom me parait plus que suspicieux : ca veut dire ( si je ne me plante pas, il faut etre précautionneux avec les balises des layout relative ) que tu veux que les bas de tes deux champs soient sur la meme ligne. Bon je ne comprends pas pourquoi ca fait ce que nous montre, mais il me semble qu'un bete "below" serait plus adapté. Et puis, si c'est juste pour aligner des champs les uns sont les autres, prends carrément un linear layout ! Emmanuel / Alocaly Lien vers le commentaire Partager sur d’autres sites More sharing options...
Pierre87 Posté(e) 14 juin 2010 Share Posté(e) 14 juin 2010 J'ai laissé tombé les RelativeLayout, car c'était trop dur à utiliser Je n'utilise plus que le LinearLayout (quasi exclusivement), car je suis sûr à 100% du résultat obtenu Certe, le RelativeLayout permet d'avoir moins de View, mais le placement est beaucoup plus galère :/ Lien vers le commentaire Partager sur d’autres sites More sharing options...
galldup Posté(e) 14 juin 2010 Auteur Share Posté(e) 14 juin 2010 En fait, j'ai trouvé la soluce avec ça : mText.setText(texte); Spannable spannable = (Spannable) mText.getText(); spannable.setSpan(android.graphics.Typeface.ITALIC, 20, mText.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); spannable.setSpan(new ForegroundColorSpan(0xFFFFFF00), 0, mText.length()-1, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); Un moment, j'ai galéré car j'ai du caster en ajoutant spannable pour que le tout fonctionne. Sinon, j'aime bien le relative layout, disons que cela répond à un besoin précis... Lien vers le commentaire Partager sur d’autres sites More sharing options...
Recommended Posts
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.