我有一个包含15个按钮的RelativeLayout。我正在开发一个新项目,使用OnTouchListener,我希望我的应用程序能够做到以下事情:当用户触摸例如按钮1时,Mp1将开始播放,直到用户松开手指或将其移动到按钮2上,然后按钮2上的mp2应该开始播放,以此类推。
但是问题在于,如果用户移动手指(而不是松开),如果按钮1被按下,它仍将保持按下状态(动作向下),直到用户松开手指。就像这样:
我的问题是:
当手指离开按钮边界时,我需要添加什么来停止按钮并切换到按下哪个按钮(手指所在的位置)?
我的代码:
但是问题在于,如果用户移动手指(而不是松开),如果按钮1被按下,它仍将保持按下状态(动作向下),直到用户松开手指。就像这样:
我的问题是:
当手指离开按钮边界时,我需要添加什么来停止按钮并切换到按下哪个按钮(手指所在的位置)?
我的代码:
sound1.setOnTouchListener(new OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == android.view.MotionEvent.ACTION_DOWN) {
pressed1 = true;
mp1 = MediaPlayer.create(MainClass.this, R.raw.item1);
mp1.start();
sound1.setBackgroundResource(R.drawable.pad_pressed);
if (looping == true) {
mp1.setLooping(true);
} else if (looping == false) {
mp1.setLooping(false);
}
} else if (event.getAction() == android.view.MotionEvent.ACTION_UP) {
pressed1 = false;
mp1.stop();
mp1.reset();
mp1.release();
sound1.setBackgroundResource(R.drawable.pad_normal);
}
return true;
}
});