¿Hay algún tipo de onPress y onRelease para los botones de Android como en flash?onPress/onRelease in Android
Respuesta
Sí. En lugar de un OnClickListener, debe usar un OnTouchListener. http://developer.android.com/reference/android/view/View.OnTouchListener.html
Además, esto no tiene nada que ver con flash y no debe etiquetarse como tal.
Eche un vistazo a Handling UI Events en los documentos de Android, específicamente desea OnTouch si desea escuchar y soltar. Si está haciendo esto solo para cambiar el aspecto de un botón, existen otras formas de manejarlo pulsando el state lists.
intente esto:
someView.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View arg0, MotionEvent arg1) {
if (arg1.getAction()==MotionEvent.ACTION_DOWN)
runEnemy();
else
stopEnemy();
return true;
}
});
arg1.getAction() == 0 es media ACTION_DOWN http://developer.android.com/reference/android/view/MotionEvent.html#ACTION_DOWN
Es demasiado tarde, pero tal vez alguien le resultará útil:
mButton.setOnTouchListener(new OnTouchListener()
{
@Override
public boolean onTouch(View v, MotionEvent event)
{
if (event.getAction() == MotionEvent.ACTION_DOWN)
Log.d("Pressed", "Button pressed");
else if (event.getAction() == MotionEvent.ACTION_UP)
Log.d("Released", "Button released");
// TODO Auto-generated method stub
return false;
}
});
gracias :) sí me ayudó ~ – Sunny
Puede cambiar mButton
, lo que es suyo en su lugar. Y es posible agregar un paréntesis después if
y else if
mButton.setOnTouchListener(new OnTouchListener()
{
@Override
public boolean onTouch(View v, MotionEvent event)
{
if (event.getAction() == MotionEvent.ACTION_DOWN)
Log.d("Pressed", "Button pressed");
else if (event.getAction() == MotionEvent.ACTION_UP)
Log.d("Released", "Button released");
// TODO Auto-generated method stub
return false;
}
});
y este código es de mi lado:
// butona basınca bir ses çekince bir ses geliyor.
sescal.setOnTouchListener(new OnTouchListener()
{
@Override
public boolean onTouch(View v, MotionEvent event)
{
if (event.getAction() == MotionEvent.ACTION_DOWN)
{
Log.d("Pressed", "Button pressed");
mp.start();
}
else if (event.getAction() == MotionEvent.ACTION_UP)
{
Log.d("Released", "Button released");
mp2.start();
}
// TODO Auto-generated method stub
return false;
}
});
- 1. H264 encoder in android?
- 2. camera.setParameters failed in android
- 3. Android In-App Purchase
- 4. Android view fade in programatically
- 5. Android webcam enable in emulator
- 6. Android TabWidget in Light tema
- 7. Android in-app Respuesta inesperada de facturación
- 8. Service call backs to activity in android
- 9. Android Sqlite IN, NO EN Sintaxis
- 10. Debugging Android Widget In Intellij IDEA
- 11. Android In-app billing Phonegap 1.0
- 12. Lazy Load images on Listview in android (Beginner Level)?
- 13. Android In Code recibe la versión de la aplicación?
- 14. Plug-in com.android.ide.eclipse.adt no pudo cargar la clase de Android
- 15. Android In App Billing DEVELOPER_PAYLOAD no viene a través de
- 16. Fade in Actividad de actividad anterior en Android
- 17. ¿Cómo escribo: else in condp in Clojure?
- 18. IN y NOT IN con LINQ a Entidades (EF4.0)
- 19. Aplicación Themes in Rails
- 20. Helpers in Rails motor
- 21. before_create in rails model
- 22. t.belongs_to in migration
- 23. sleep-until in C#
- 24. Fade In CSS class
- 25. svn status in TortoiseSVN?
- 26. check isatty in bash
- 27. CollectionAssert in jUnit?
- 28. Distinct in linq?
- 29. jasper report in grails
- 30. Tree in scala swing
Si implementa 'KeyboardView.OnKeyboardActionListener', entonces usted tendrá acceso a' onPress() ' y 'onRelease()' –
@IgorGanapolsky está mal y esta es una pregunta de 5 años ... – nebkat
Dependiendo de cómo lo mire: http://developer.android.com/reference/android/inputmethodservice/KeyboardView.OnKeyboardActionListener .html # onRelease (int). Pero no realmente para los botones per se. –