galldup Posted June 13, 2010 Share Posted June 13, 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" /> Link to comment Share on other sites More sharing options...
eephyne Posted June 13, 2010 Share Posted June 13, 2010 tu peut pas faire text += text_tempo , à chaque fois que tu modifie la variable text ? Link to comment Share on other sites More sharing options...
galldup Posted June 13, 2010 Author Share Posted June 13, 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... Link to comment Share on other sites More sharing options...
eephyne Posted June 13, 2010 Share Posted June 13, 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? Link to comment Share on other sites More sharing options...
Profete162 Posted June 13, 2010 Share Posted June 13, 2010 tu peux aussi jouer avec cela: http://stackoverflow.com/questions/2912208/what-options-i-have-to-show-a-sentence-parts-with-different-color Link to comment Share on other sites More sharing options...
Pierre87 Posted June 13, 2010 Share Posted June 13, 2010 SpannableBuilder et Spannable.Factory Link to comment Share on other sites More sharing options...
galldup Posted June 13, 2010 Author Share Posted June 13, 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. Link to comment Share on other sites More sharing options...
Alocaly Posted June 14, 2010 Share Posted June 14, 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 Link to comment Share on other sites More sharing options...
Pierre87 Posted June 14, 2010 Share Posted June 14, 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 :/ Link to comment Share on other sites More sharing options...
galldup Posted June 14, 2010 Author Share Posted June 14, 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... Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.