触摸按钮上没有声音

Kol*_*sar 1 audio android button touch

如果我使用:

    final Button btnNught = (Button) findViewById(R.id.night);
    btnNught.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            // Perform action on click
            btnNught.setPressed(true);
        }
    });
Run Code Online (Sandbox Code Playgroud)

如果我点击按钮我会听点击声,但如果我使用:

    btnNught.setOnTouchListener(new OnTouchListener() {
        public boolean onTouch(View v, MotionEvent event) {
            if (btnNught.isPressed()) {
                btnNught.setPressed(false);
                return true;
            }
            else {
                btnNught.setPressed(true);
                return false;
            }
        }
    });
Run Code Online (Sandbox Code Playgroud)

我不接触任何声音.哪里弄错了?

编辑:我想创建像togglebutton这样的按钮,有两种状态:按下和非按下,当然有两种不同的颜色(正常 - 浅灰色非按下和绿色按下时).

在这种情况下(上图),当我触摸按钮时,我不听任何声音,但如果我使用onClick方法,我会听'点击'声音.当我使用onTouch方法时,如何获得"点击"或"触摸"声音?

Phi*_*o99 6

这样做对我有用:

btnNught.setSoundEffectsEnabled(true);
btnNught.setOnTouchListener(new OnTouchListener() {
    public boolean onTouch(View v, MotionEvent event) {
       if(event.getAction()!=MotionEvent.ACTION_UP ||        
          event.getAction()!=MotionEvent.ACTION_DOWN) 
       {
           return false;
       }
       if(event.getAction()==MotionEvent.ACTION_DOWN)
       {
            btnNught.playSoundEffect(SoundEffectConstants.CLICK);
            //Set whatever color you want to set
       }
       else 
       {

       }
       return true;
    }
});
Run Code Online (Sandbox Code Playgroud)