图像按钮设置背景onClick

时间:2014-10-20 13:41:06

标签: java android onclicklistener

我按了一个图像按钮就会改变你的背景,这里是xml按钮的变化代码:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/pushed"
        android:state_pressed="true"/>
    <item android:drawable="@drawable/normal"/>
</selector>

当您按此按钮时,此按钮会播放声音,问题是如果我一直点击(长按)按钮,正确更改其背景并继续显示此状态的背景但在播放前不播放声音。这里代码:

        @Override
        public void onClick(View view) {
            mp = MediaPlayer.create(MyActivity.this,R.raw.sound);
            mp.start();

我想在触摸时播放声音而不是在发布声音时播放声音 提前谢谢!

1 个答案:

答案 0 :(得分:2)

使用此代码完成任务

 imageButton.setOnTouchListener(new OnTouchListener() {
        @Override
        public boolean onTouch(View v, MotionEvent event) {
            if(event.getAction() == MotionEvent.ACTION_DOWN){

                mp = MediaPlayer.create(MyActivity.this,R.raw.sound);
                mp.start();

                return true;
            }

           else  if(event.getAction() == MotionEvent.ACTION_UP){
                  mp.stop();
                  mp.release();
            return true;
        }

            return false;
        }
    });