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

时间:2010-04-11 00:42:34

标签: android button

我有以下Android代码,只需点击一下按钮即可播放声音:

Button SoundButton2 = (Button)findViewById(R.id.sound2);
        SoundButton2.setOnClickListener(new OnClickListener() {

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

    }
});

我的问题是我希望在按下按钮(触摸下来)后立即播放声音,而不是在释放声音时(触摸起来)。关于如何实现这一目标的任何想法?

3 个答案:

答案 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;