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?
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?
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 ?
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(); }
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:
Un petit rappel sur la fonction drawLine:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 // Dessin des lignes. canvas.drawLine(0,0,getMeasuredHeight(),0,linePaint);
Code : Sélectionner tout - Visualiser dans une fenêtre à part void drawLine(float startX, float startY, float stopX, float stopY, Paint paint)
Merci !!
la solution :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 canvas.drawLine(0,0,getMeasuredWidth(),0,linePaint);
Partager