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