2016-01-21 71 views
0

我想创建一个简单的应用程序,其中包含一个带有图像的按钮(ben1),当您单击该按钮时,它会播放音频剪辑(audiofile),图像会变为第二张图像(ben2)。Android OnClick播放声音和更改按钮图像。

一旦不再点击按钮,图像将变回原来的位置。

目前,我有下面的代码的按钮被点击

再下面是代码,我从更改按钮图像被点击时的其他应用程序有哪些时,播放音频文件。

有人能帮我完全怎么合并论文。

播放音频文件

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

权w^AY要做到这一点,是要设置为按钮的资源选择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>

而你并不需要更改或布局添加任何按钮监听,你的按钮声明,你加这个文件作为背景。

0

取出imgButtonHandler和补充一点:

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