在Android中按下按钮时触发事件

Triggering event when Button is pressed down in Android

我有以下Android代码,点击一个按钮就可以播放声音:

1
2
3
4
5
6
7
8
Button SoundButton2 = (Button)findViewById(R.id.sound2);
        SoundButton2.setOnClickListener(new OnClickListener() {

    public void onClick(View v) {
        mSoundManager.playSound(2);

    }
});

我的问题是,我想让声音在按下按钮后立即播放(触屏),而不是在释放时播放(触屏)。我对如何完成这个有什么想法吗?


你应该这样做:B是按钮。

1
2
3
4
5
6
7
8
9
10
11
12
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;
            }
        });


可能使用OnTouchListener?我想MotionEvent会有一些方法来注册对象上的触摸。

1
2
3
4
5
6
7
8
   button.setOnTouchListener(new OnTouchListener() {

    @Override
    public boolean onTouch(View v, MotionEvent event) {
     // TODO Auto-generated method stub
     return false;
    }
   }))


import android.view.MotionEvent;