hice algo similar a lo que necesita - usted puede encontrar algo de información acerca there. Estoy haciendo algunas cosas manuales allí, pero funciona bien. Para su conveniencia aquí está el código que he usado:
OnTouchListener gestureListener = new View.OnTouchListener() {
private int padding = 0;
private int initialx = 0;
private int currentx = 0;
private ViewHolder viewHolder;
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN) {
padding = 0;
initialx = (int) event.getX();
currentx = (int) event.getX();
viewHolder = ((ViewHolder) v.getTag());
}
if (event.getAction() == MotionEvent.ACTION_MOVE) {
currentx = (int) event.getX();
padding = currentx - initialx;
}
if (event.getAction() == MotionEvent.ACTION_UP ||
event.getAction() == MotionEvent.ACTION_CANCEL) {
padding = 0;
initialx = 0;
currentx = 0;
}
if (viewHolder != null) {
if (padding == 0) {
v.setBackgroundColor(0xFF000000);
if (viewHolder.running)
v.setBackgroundColor(0xFF058805);
}
if (padding > 75) {
viewHolder.running = true;
v.setBackgroundColor(0xFF00FF00);
viewHolder.icon.setImageResource(R.drawable.clock_running);
}
if (padding < -75) {
viewHolder.running = false;
v.setBackgroundColor(0xFFFF0000);
}
v.setPadding(padding, 0, 0, 0);
}
return false;
}
};
Gracias por su respuesta. He encontrado una solución similar a la suya. http://goo.gl/WpFEi La primera respuesta de las pruebas es muy buena pero con resultados laggy. Creo que esta solución necesita un poco de personalización, ¡pero creo que funcionará! Gracias – Superroot
hace este trabajo para Android 2.1+ GestureDetector? –
@CodeDroid: ¿* qué * "funciona para Android 2.1+ GestureDetector"? – CommonsWare