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 :

Comment barrer du texte


Sujet :

Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 4
    Par défaut Comment barrer du texte
    Bonjour,
    Je suis débutant sous android et pour mon application je voudrais afficher une liste et, lors d'un clic de l'utilisateur sur un item, barrer le texte correspondant.
    Je n'ai pas de problème pour afficher du texte et gérer le clic mais je n'arrive pas à trouver comment afficher un texte barré (équivalent à la balise "<strike>" en html).
    Quelqu'un aurait-il une idée ?

    Merci pour votre aide.

    Cordialement

  2. #2
    Membre très actif Avatar de _Xavier_
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    311
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mai 2009
    Messages : 311
    Par défaut
    Dans le fichier string on peut utiliser des balises HTML

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <string name="nomDuString"><strike>valeur du string</strike></string>
    Pour les lire depuis ton code Java.


  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 4
    Par défaut
    Merci Xavier pour la réponse mais cela ne fonctionne pas.
    J'ai ajouté dans mon fichier string.xml la ligne suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        <string name="texte_barre"><strike>valeur du string</strike></string>

    Dans mon code je récupère la chaîne de caractère par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     String texteBarre = getString(R.string.texte_barre);

    A l'affichage, je vois bien qu'au clic mon texte devient "valeur du string" sans les balises mais le texte n'est pas barré.

    D'autre part, le texte que je veux afficher dans ma liste provient d'une base de données et non pas du fichier string.xml. Comment dois-je faire car si je stocke la chaine de caractère encadrée par les balises <strike> et </strike> dans ma base de données, à l'affichage les balises apparaissent ?

    Merci d'avance

  4. #4
    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,

    Essaye de voir avec cette constante

    public static final int STRIKE_THRU_TEXT_FLAG
    Since: API Level 1

    bit mask for the flag enabling strike-thru text
    Constant Value: 16 (0x00000010)


    http://developer.android.com/referen...THRU_TEXT_FLAG

    Edit :

    Tu as directement une procédure dans le Paint pour gérer cela

    public void setStrikeThruText (boolean strikeThruText)
    http://developer.android.com/referen...ics/Paint.html

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 4
    Par défaut
    Merci Feanorin,
    Je vais regarder comment utiliser la classe Paint.

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 4
    Par défaut
    Au final j'ai tout simplement récupéré le TextPaint de ma TextView et utilisé la méthode setStrikeThruText :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    maTextView.getPaint().setStrikeThruText(true);


    Cela marche bien mais apparemment il est demandé d'utiliser le getPaint uniquement pour lire les propriétés de Textpaint et non pas les changer. Je chercherai plus tard comment utiliser la classe Paint pour remplacer ma TextView et pouvoir barrer le texte proprement.

    Je vous remercie pour votre aide.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [TWebBrowser] Comment ajouter du texte ?
    Par el_diablos dans le forum Composants VCL
    Réponses: 18
    Dernier message: 06/07/2004, 09h17
  2. [RichEdit] Comment surligner du texte ?
    Par micatmidog dans le forum Composants VCL
    Réponses: 3
    Dernier message: 28/06/2004, 13h01
  3. comment inserer du texte?
    Par bakonu dans le forum OpenGL
    Réponses: 2
    Dernier message: 29/04/2004, 13h32
  4. comment ecrire du texte dans une window application
    Par gaut dans le forum Autres éditeurs
    Réponses: 2
    Dernier message: 16/07/2003, 10h23
  5. Comment centrer un Texte dans un rectangle ...
    Par Djedjeridoo dans le forum Composants VCL
    Réponses: 3
    Dernier message: 16/06/2003, 21h56

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