Ver sólo el registro de MotionEvent.ACTION_DOWN

Estoy teniendo un problema interesante … que no puedo encontrar la solución. Estoy utilizando un ObjectAnimator para girar un ImageView; Pero el onTouchListener sólo parece estar registrando MotionEvent.ACTION_DOWN. (Deduje esto de los gatos del registro, allí es también MotionEvent.ACTION_MOVE y MotionEvent.ACTION_UP).

Pensé que tal vez el problema tenía que ver con tratar de escuchar y animar a una vista al mismo tiempo. Envolví la vista de imagen y un diseño lineal (establecido en MATCH PARENT) en un diseño relativo, y registré el diseño lineal para escuchar eventos de toque. El Linear Layout tiene el mismo problema; Sólo se está manejando MotionEvent.ACTION_UP. ¿Hay algo que debo hacer para que MotionEvent.ACTION_MOVE se registre?

Aquí está mi código:

touch_pad = (LinearLayout) findViewById(R.id.layout_touch_capture); touch_pad.setOnTouchListener(this); touch_pad.requestFocus(); public boolean onTouch(View v, MotionEvent event) { switch(v.getId()) { case (R.id.layout_touch_capture): long end = 0; long start = 0; float y = event.getY(); float y_sum = y; float x = event.getX(); switch(event.getAction()) { case (MotionEvent.ACTION_UP): end = animator.getCurrentPlayTime(); Log.d("WheelActivity", "end location = " + end); break; case (MotionEvent.ACTION_MOVE): Log.d("WheelActivity", "event.getY() = " + y); y_sum += y; animator.setCurrentPlayTime((long) (start + y_sum)); Log.d("WheelActivity", "animator play time = " animator.getCurrentPlayTime()); Log.d("WheelActivity", "animator fraction = " + animator.getAnimatedFraction()); break; case (MotionEvent.ACTION_DOWN): start = animator.getCurrentPlayTime(); Log.d("WheelActivity", "start location = " + start); break; } } return false; } 

(Lo siento por el código mal formateado …)

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.