Android OnClick播放声音并更改按钮图像。

时间:2016-01-21 21:48:07

标签: java android button onclick

我想创建一个带有图像按钮的简单应用程序(ben1),当您单击该按钮时,它会播放音频剪辑(audiofile),图像会变为第二个图像(ben2)。

不再点击按钮后,图像会变回原始图像。

我目前有以下代码,当点击按钮时播放音频文件

下面是我从其他应用程序获得的代码,它在单击时更改了按钮图像。

有人可以帮我确切地说我将如何合并这些论文。

播放音频文件

public class MainActivity extends Activity{

private SoundPool soundPool;
private int soundID;
boolean loaded = false;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_main);

    final MediaPlayer benSoundMP = MediaPlayer.create(this,R.raw.audiofile);

    Button playbenSound = (Button) this.findViewById(R.id.button1);
    playbenSound.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            benSoundMP.start();
        }
    });
  }
}

更改按钮图片

public class MainActivity extends Activity {
ImageButton button;



@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

      button= (ImageButton)findViewById(R.id.button);
      button.setOnClickListener(imgButtonHandler);
        }
        View.OnClickListener imgButtonHandler = new View.OnClickListener() {

        public void onClick(View v) {
            button.setBackgroundResource(R.drawable.icon_red);

        }
    };
}

2 个答案:

答案 0 :(得分:1)

正确的方法是将按钮的资源设置为选择器xml

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

您无需更改或添加任何内容到按钮侦听器,在布局上的按钮声明中,您将此文件添加为背景。

答案 1 :(得分:0)

删除imgButtonHandler并添加:

button.setOnClickListener(new OnclickListener(){
   public void onClick(View v) {
        button.setBackgroundResource(R.drawable.icon_red);
    }
});