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

Android OnClick play sound and change button image.

我想创建一个简单的应用程序,它有一个带有图像的按钮 (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);

        }
    };
}

删除 imgButtonHandler 并添加:

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

正确的做法是将选择器设置为按钮的资源 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>

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