2016-01-21 86 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); 
    } 
});