2011-01-04 7 views
6

¿Hay algún tipo de onPress y onRelease para los botones de Android como en flash?onPress/onRelease in Android

+0

Si implementa 'KeyboardView.OnKeyboardActionListener', entonces usted tendrá acceso a' onPress() ' y 'onRelease()' –

+0

@IgorGanapolsky está mal y esta es una pregunta de 5 años ... – nebkat

+0

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. –

Respuesta

1

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.

13

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; 
      } 
     }); 
+0

gracias :) sí me ayudó ~ – Sunny

1

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; 
     } 
    });