我正在做一個fife應用程序。我的鼓笛有6個孔,我認爲它們是6個按鈕。正如你所知道的,在fifes中,如果你同時持有一個,兩個或更多的孔(這裏是按鈕)就會有所不同。我是Android新手,我該如何管理它?比如我想這樣做:
如果按鈕1和按鈕2在同一時間感動:玩Sound1例子
如果button6和BUTTON2在同一時間感動:玩SOUND2
如果按鈕1和按鈕2和buuton3在同一時間感動:播放聲音3
。
。
。
最後我用這一招:一次觸摸多個按鈕在android
one.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
switch(event.getAction()){
case MotionEvent.ACTION_DOWN:
is1t = true;
soundtoplay();
one.setBackgroundResource(R.drawable.hintedholes);
return true;
case MotionEvent.ACTION_UP:
is1t = false;
soundtoplay();
one.setBackgroundResource(R.drawable.holes);
return true;
}
return false;
}
});
two.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
switch(event.getAction()){
case MotionEvent.ACTION_DOWN:
is2t = true;
soundtoplay();
two.setBackgroundResource(R.drawable.hintedholes);
return true;
case MotionEvent.ACTION_UP:
is2t = false;
soundtoplay();
two.setBackgroundResource(R.drawable.holes);
return true;
}
return false;
}
});
three.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
switch(event.getAction()){
case MotionEvent.ACTION_DOWN:
is3t = true;
soundtoplay();
three.setBackgroundResource(R.drawable.hintedholes);
return true;
case MotionEvent.ACTION_UP:
is3t = false;
soundtoplay();
three.setBackgroundResource(R.drawable.holes);
return true;
}
return false;
}
});
...
public void soundtoplay(){
if(is1t == true && is2t == false && is3t == false && is4t == false && is5t == false && is6t == false){
mp = MediaPlayer.create(Playing.this, R.raw.b);
mp.start();
}else if(is1t == true && is2t == true && is3t == false && is4t == false && is5t == false && is6t == false){
mp = MediaPlayer.create(Playing.this, R.raw.a);
mp.start();
}else if(is1t == true && is2t == true && is3t == true && is4t == false && is5t == false && is6t == false){
mp = MediaPlayer.create(Playing.this, R.raw.g1);
mp.start();
}else if ...
你的意思是不管我們如何觸摸它們,我們在彼此之後延遲觸摸它們?我怎麼測量點擊的時間? 例如,我必須這樣做:如果button2觸摸100毫秒後button1然後我認爲他們同時觸摸? –
點擊之間的延遲取決於您的實施。您可以通過查看以下鏈接瞭解如何衡量您的第一次點擊和最終點擊之間的時間:http://stackoverflow.com/questions/12762272/android-countdowntimer-additional-milliseconds-delay-between-ticks – SAbbasizadeh