J'essaie juste de faire fonctionner cette fonction mais j'ai des problèmes. Quand j'appuie sur View, la méthode getPointerCount() renvoie toujours 0 pointeurs, quand je touche l'écran avec un doigt, 1. Quand je touche l'écran avec deux doigts ou plus, c'est toujours le retour 1. Avez-vous des idées?Pourquoi la méthode onTouchEvent getPointerCount() renvoie-t-elle toujours 1?
j'ai essayer de ce code,
@Override
public boolean onTouch(View view, MotionEvent me) {
// No dragging during animation at the moment.
// TODO: Stop animation on touch event and return to drag mode.
if (me.getPointerCount() >= 2) {
mAnimate = false;
mEnableTouchPressure = false;
mRenderLeftPage = false;
startCurl(CURL_NONE);
mCurlState = CURL_NONE;
mPageRight.setFlipTexture(false);
mPageLeft.setFlipTexture(false);
return false;
} else {
if (me.getAction() == MotionEvent.ACTION_DOWN) {
Log.e("TAG_EVENT", me.getPointerCount() + "");
} else {
Log.e("TAG_EVENT - 2", me.getPointerCount() + "");
}
}
}
Ceci ne fournit pas une réponse à la question. Pour critiquer ou demander des éclaircissements à un auteur, laissez un commentaire en dessous de son message - vous pouvez toujours commenter vos propres messages, et une fois que vous aurez suffisamment de [réputation] (http://stackoverflow.com/help/whats-reputation) vous pourrez être capable de [commenter sur n'importe quel post] (http://stackoverflow.com/help/privileges/comment). – Codexer
Désolé, je suis nouveau dans SO. Ce que je voulais dire, c'est que le problème est peut-être lié au fait que la méthode onTouch ne retourne pas vrai, donc l'événement tactile n'est pas traité. À partir des documents (View.onTouch()): ** Retourne ** _True si l'écouteur a consommé l'événement, false sinon._ Donc, vous pouvez essayer de retourner true dans l'instruction else. –