Android – Comment "secouer pour effacer"?

C'est peut-être une question facile, mais je suis bloqué. J'essaie de mettre en œuvre la fonction "secouer pour effacer" dans un programme de dessin (application de peinture simple). Je n'arrive pas à le faire marcher. Voici mon code:

private final SensorEventListener mSensorListener = new SensorEventListener() { public void onSensorChanged(SensorEvent se) { float x = se.values[0]; float y = se.values[1]; float z = se.values[2]; mAccelLast = mAccelCurrent; mAccelCurrent = (float) Math.sqrt((double) (x*x + y*y + z*z)); float delta = mAccelCurrent - mAccelLast; mAccel = mAccel * 0.9f + delta; // perform low-cut filter if (mAccel > 2) { mView.onDraw(mCanvas); mCanvas.drawBitmap(cache, 0, 0, new Paint(Paint.DITHER_FLAG)); } } public void onAccuracyChanged(Sensor sensor, int accuracy) { } }; 

Le SensorEventListener est basé sur cet exemple . Je le faisais dans la déclaration if, mais la toile ne se réinitialisera qu'après avoir touché l'écran (un nouvel événement tactile).

J'aimerais que la toile soit réinitialisée ou effacée lors de l'événement de secousses, sans autre demande de l'utilisateur nécessaire.

Toute aide serait merveilleuse, merci!

  • Android map zoom zoom zoom sur le canevas
  • Remplir le canevas en dehors du rectangle
  • Canvas Android, plusieurs chemins avec différents montants de zoom
  • Comment effacer l'image avec le doigt dans Android
  • Tirage de la toile Android tirezTextrez-vous la taille de la police de la largeur?
  • Nouvelle ligne lors de la peinture d'un texte dans une image
  • Android: ColorPickerDialog avancé
  • Effacement du canevas avec Canvas.drawColor ()
  • coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.