Bonjour, j'ai regardé plusieurs tutoriels sur la création d'un SurfaceView, mais je n'ai pas compris pourquoi on fait une boucle (infinie) pour dessiner plusieurs fois sur ce SurfaceView alors qu'un seul dessin ça marche pour moi??
voici un exemple:
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 class DrawingThread extends Thread { // Utilisé pour arrêter le dessin quand il le faut boolean keepDrawing = true; @Override public void run() { while (keepDrawing) { Canvas canvas = null; try { // On récupère le canvas pour dessiner dessus canvas = mSurfaceHolder.lockCanvas(); // On s'assure qu'aucun autre thread n'accède au holder synchronized (mSurfaceHolder) { // Et on dessine Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG | Paint.DITHER_FLAG); paint.setColor(Color.GREEN); canvas.drawCircle(10,10 , 50, paint); } } finally { if (canvas != null) mSurfaceHolder.unlockCanvasAndPost(canvas); } try { Thread.sleep(20); } catch (InterruptedException e) {} } } }
Partager