Событие триггера, когда кнопка нажата в Android
У меня есть следующий код для Android, который отлично работает, чтобы воспроизводить звук после нажатия кнопки:
Button SoundButton2 = (Button)findViewById(R.id.sound2);
SoundButton2.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
mSoundManager.playSound(2);
}
});
Моя проблема в том, что я хочу, чтобы звук воспроизводился сразу же после нажатия кнопки (касание вниз), а не при отпускании (коснитесь). Любые идеи о том, как я могу это сделать?
Ответы
Ответ 1
Может быть, с помощью OnTouchListener
? Я думаю, MotionEvent будет иметь некоторые методы для регистрации касания объекта.
button.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
return false;
}
}))
Ответ 2
Вы должны сделать это:
b - кнопка.
b.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN ) {
mSoundManager.playSound(2);
return true;
}
return false;
}
});
Ответ 3
import android.view.MotionEvent;