IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Android Discussion :

SpannableStringBuilder couleur ligne


Sujet :

Android

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    338
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 338
    Par défaut SpannableStringBuilder couleur ligne
    Bonjour,
    J'ai un problème je veux changer de couleur chaque ligne de mon application. C'est a dire que chaque variable string que je renvoi a mon textview est une couleur différante :

    code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    //Mon entete noir
    entete = couleur(libelle_ss_type, 0, 0, 0);
    resultat += "\n\t" + entete +Newligne;
     
    //mon tete bleu
     tete = couleur(plat, 20,20,20);
    resultat += Newligne+tete;
     
    //mon te rouge
    te=couleur(resu_bis, 30,30,30);
    resultat += Newligne+te+Newligne;
     
    //Affiche dans mon textview
    txt.setText(resultat,BufferType.SPANNABLE);

    j'utilise une méthode pour mettre mon texte en couleur.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    private SpannableStringBuilder couleur(String resu, int a, int b, int c) {
     
    			SpannableStringBuilder builder = new SpannableStringBuilder();
    				SpannableString redSpannable= new SpannableString(resu);
    				redSpannable.setSpan(new ForegroundColorSpan(Color.rgb(a, b, c)), 0, resu.length(), 0);
     
     
    				builder.append(redSpannable);
    			// TODO Auto-generated method stub
    			return builder;
    		}
    Elle fonctionne très bien si je veux que tout mon textview soit à la même couleur.

    Actuellement je n'ai pas d'erreur mais je n'ai pas de couleur sur mes lignes.

  2. #2
    Rédacteur
    Avatar de David55
    Homme Profil pro
    Ingénieur informatique
    Inscrit en
    Août 2010
    Messages
    1 542
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2010
    Messages : 1 542
    Par défaut
    Bonjour,

    Essaye les balises HTML!!!

    Exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    TextView tv = new TextView(context);
    tv.setText(Html.fromHtml("<b> Ceci </b>" +  "<br />" + 
                "<small> est un </small>" + "<br />" + 
                "<small> exemple </small>"));

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    338
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 338
    Par défaut
    Je pensais pas que c’était possible. Est ce qu'il y aurait moyen d'appliquer css?

  4. #4
    Rédacteur
    Avatar de David55
    Homme Profil pro
    Ingénieur informatique
    Inscrit en
    Août 2010
    Messages
    1 542
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2010
    Messages : 1 542
    Par défaut
    Il faut essayer!


    Pour la couleur, tu peux essayer:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     
    TextView tv = new TextView(context);
    tv.setText(Html.fromHtml(" <font color=green>test</font>"));

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    338
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 338
    Par défaut
    Alors :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    //Sa marche 
    <FONT color ='#5C0515'>
     
    //Affiche un carré bleu et pas l'image 
    <img src='B:/travail/test/res/drawable/Smiley.jpg' alt='Smiley face' height='42' width='42' />
     
    //marche pas 
    <font size = 1>
    <h1>
     
    le css n'ont plus 
    <head>
    body{
    background :...
    }
    </head>

  6. #6
    Rédacteur
    Avatar de David55
    Homme Profil pro
    Ingénieur informatique
    Inscrit en
    Août 2010
    Messages
    1 542
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2010
    Messages : 1 542
    Par défaut
    Merci pour l'analyse

    Du coup tu peux modifier la couleur de ton texte

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    338
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 338
    Par défaut
    Oui pour modifier la taille il faut passer par les balises <small> et <big> mais je voudrais comprendre le carré bleu pour la balise img car il l'interprete ("il n'ecrit pas dans mon textview <img src=""..>"). Mais alors pourquoi un carré bleu ?

  8. #8
    Rédacteur
    Avatar de David55
    Homme Profil pro
    Ingénieur informatique
    Inscrit en
    Août 2010
    Messages
    1 542
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2010
    Messages : 1 542
    Par défaut
    Tres bonne question! Peut être et surement qu'il ne trouve pas l'image!!! IL faut essayer de modifier l'adresse! Sinon, il ne sait peut être pas interpréter l'image!

  9. #9
    Expert confirmé

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Par défaut
    Bonjour

    //Mon entete noir
    entete = couleur(libelle_ss_type, 0, 0, 0);
    resultat += "\n\t" + entete +Newligne;

    //mon tete bleu
    tete = couleur(plat, 20,20,20);
    resultat += Newligne+tete;

    //mon te rouge
    te=couleur(resu_bis, 30,30,30);
    euh 20,20,20 , c'est pas bleu , de même 30,30,30 c'est pas rouge

    là tu aurais les couleurs demandées :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    //Mon entete noir
    entete = couleur(libelle_ss_type, 0, 0, 0);
    resultat += "\n\t" + entete +Newligne;
     
    //mon tete bleu
     tete = couleur(plat, 0,0,255);
    resultat += Newligne+tete;
     
    //mon te rouge
    te=couleur(resu_bis, 255,0,0);
    resultat += Newligne+te+Newligne;
     
    //Affiche dans mon textview
    txt.setText(resultat,BufferType.SPANNABLE);

  10. #10
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    338
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 338
    Par défaut
    Mais s'il ne trouve pas l'image alors je devrais avoir marquer "Smiley face" et pourquoi un carré bleu et pas une image avec une croix rouge.

    Perso je pense qu'il n'arrive pas a interpréter l'image.

    Feanorin => Je suis d'accord que j'ai pas mis les bon code couleur mais sa ne pouvais pas marcher car je concatène mes variables pour les afficher.

  11. #11
    Expert confirmé

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Par défaut
    Je suis d'accord que j'ai pas mis les bon code couleur mais sa ne pouvais pas marcher car je concatène mes variables pour les afficher.
    Effectivement tu aurais du le construire avec ta chaîne principale à laquelle tu aurais rajouter ta string. Et là cela aurait marcher .

Discussions similaires

  1. [VB.net] Changer couleur ligne DataGrid
    Par bguihal dans le forum Windows Forms
    Réponses: 7
    Dernier message: 22/07/2016, 06h54
  2. changer couleur ligne tableau
    Par philippe123 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 17/02/2007, 15h19
  3. Changement de couleur ligne
    Par jcaspar dans le forum Langage
    Réponses: 2
    Dernier message: 01/02/2007, 18h12
  4. Visual Studio: Affichage tableau, alterner couleur ligne
    Par en_stage dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 17/08/2006, 22h41
  5. TListBox couleur ligne
    Par luckydigit dans le forum C++Builder
    Réponses: 3
    Dernier message: 12/07/2006, 12h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo