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

Composants graphiques Android Discussion :

Pb ListView et canvas.drawline


Sujet :

Composants graphiques Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 17
    Par défaut Pb ListView et canvas.drawline
    Bonsoir,

    je suis débutant sous android, et j'ai un souci avec une listview. Je la remplis en utilisant canvas.drawline(...), mais il y a une ligne résiduelle horizontale(en haut à gauche), cf la capture.

    Pouvez-vous m'indiquer d'ou viens cet erreur?
    Images attachées Images attachées  

  2. #2
    Rédacteur
    Avatar de MrDuChnok
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2002
    Messages
    2 112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2002
    Messages : 2 112
    Par défaut
    Salut,

    Pourrais tu préciser pourquoi tu la remplis avec le canvas.drawline ?
    Peux tu également nous montrer le code où tu réalises cette opération ?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 17
    Par défaut
    salut,

    voici le code ou j'utilise drawline. C'est un exemple pris sur le bouquin "Android 2, chapitre 4". Est-ce que c'est la bonne méthode pour personnaliser une listview? ou est-ce qu'il une autre méthode avec d'autre avantage?

    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
     
    public void init(){
            // recupére une référence à notre table de ressources.
            Resources myResources=getResources();
     
            // Crée les brosses que nous utiliserons dans la méthode onDraw.
            marginPaint=new Paint(Paint.ANTI_ALIAS_FLAG);
            marginPaint.setColor(myResources.getColor(R.color.notepad_margin));
            linePaint=new Paint(Paint.ANTI_ALIAS_FLAG);
            linePaint.setColor(myResources.getColor(R.color.notepad_lines));
     
            // récupère la couleur de fond  du papier et la largeur de la marge.
            paperColor=myResources.getColor(R.color.notepad_paper);
            margin=myResources.getDimension(R.dimen.notepad_margin);
        }
     
        @Override
        public void onDraw(Canvas canvas){
            // Couleur du papier
            canvas.drawColor(paperColor);
     
            // Dessin des lignes.
            canvas.drawLine(0,0,getMeasuredHeight(),0,linePaint);
            canvas.drawLine(0,getMeasuredHeight(), getMeasuredWidth(), getMeasuredHeight(), linePaint);
     
            //Dessin de la marge.
            canvas.drawLine(margin, 0, margin, getMeasuredHeight(), marginPaint);
     
            // Déplacement du texte à partir de la marge.
            canvas.save();
            canvas.translate(margin, 0);
     
            //Utilise la TextView de base pour afficher le text.
            super.onDraw(canvas);
            canvas.restore();
        }

  4. #4
    Membre chevronné
    Avatar de ZouBi
    Inscrit en
    Octobre 2007
    Messages
    508
    Détails du profil
    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2007
    Messages : 508
    Par défaut
    Enfin, sérieux; t'aurais pu trouver par toi même si tu examinerais mieux ton code. Surtout qu'il fait que 5 lignes.

    Bref, ta ligne résiduelle vient de celle-ci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    // Dessin des lignes.
            canvas.drawLine(0,0,getMeasuredHeight(),0,linePaint);
    Un petit rappel sur la fonction drawLine:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    void drawLine(float startX, float startY, float stopX, float stopY, Paint paint)

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 17
    Par défaut
    Merci !!

    la solution :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    canvas.drawLine(0,0,getMeasuredWidth(),0,linePaint);

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

Discussions similaires

  1. Timage et Canvas??
    Par vanack dans le forum C++Builder
    Réponses: 4
    Dernier message: 14/04/2007, 11h38
  2. listview ??
    Par Galdarion dans le forum Composants VCL
    Réponses: 2
    Dernier message: 12/09/2002, 17h02
  3. ListView->Items->Clear() !!! Qques probl de perf
    Par Nicolas_a69 dans le forum C++Builder
    Réponses: 3
    Dernier message: 30/08/2002, 11h49
  4. ListView
    Par SnickeursMan dans le forum Composants VCL
    Réponses: 2
    Dernier message: 14/08/2002, 10h42
  5. Réponses: 2
    Dernier message: 17/05/2002, 20h37

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