我有以下Android代码,只需点击一下按钮即可播放声音:
Button SoundButton2 = (Button)findViewById(R.id.sound2);
SoundButton2.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
mSoundManager.playSound(2);
}
});
我的问题是我希望在按下按钮(触摸下来)后立即播放声音,而不是在释放声音时(触摸起来)。关于如何实现这一目标的任何想法?
答案 0 :(得分:32)
你应该这样做: 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;
}
});
答案 1 :(得分:21)
也许使用OnTouchListener
?我猜MotionEvent会有一些在对象上注册触摸的方法。
button.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
return false;
}
}))
答案 2 :(得分:3)
import android.view.MotionEvent;