java Android 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);
}
};
}
# 1 楼答案
删除
imgButtonHandler
并添加以下内容:# 2 楼答案
正确的方法是将选择器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>
你不需要在按钮侦听器中更改或添加任何内容,在布局上的按钮声明中,你添加这个文件作为背景