2014-11-01 146 views
0

imageButton有一個圖像背景。 它在取消選擇時具有默認圖像背景。 當imageButton單擊其背景圖像更改並選擇。 現在我需要的是,當用戶再次點擊ImageButton它的背景圖像應該改變,因爲在時間不選擇時間默認圖像。在Android中更改圖像按鈕的背景圖像?

這裏是我的活動圖像按鈕代碼: -

img1 = (ImageButton) findViewById(R.id.imageButton1); 
    //img1.setImageResource(R.drawable.image1); 
    img1.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      // TODO Auto-generated method stub 
       //start(); 
       //img1.setImageResource(R.drawable.badmiton_blur); 
      img1.setImageResource(R.drawable.image1); 

     } 
    }); 

這裏是我的XML代碼: -

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android" > 

<item 
    android:state_selected="true" 
    android:drawable="@drawable/badmintion140" 
    /> 
<item 
    android:state_selected="false" 
    android:drawable="@drawable/badmiton_blur" 
    /> 
</selector> 

回答

2

添加一個布爾varialbe

boolean isClicked; 

,改變你的代碼像這個。

boolean isClicked; 
img1.setOnClickListener(new OnClickListener() { 

    @Override 
    public void onClick(View v) { 
      isClicked=!isClicked; 
      if (isClicked) { 
       img1.setImageResource(R.drawable.image1); 
      }else { 
       img1.setImageResource(R.drawable.defaut); 
      } 
     } 
    }); 
+0

@thanks。有5種不同的圖像按鈕,如果我用這對任何1的ImageButton所有的ImageButton的背景點擊將改變 – madhavan 2014-11-01 13:20:38

+0

@madhavan像上述變化都imagesButton圖像的onclick方法 – 2014-11-01 13:22:20

+0

OK謝謝!讓我試試.... – madhavan 2014-11-01 13:27:56

1

請試試這段代碼。

boolean defaultImage=true; 


img1.setOnClickListener(new OnClickListener() { 

    @Override 
    public void onClick(View v) { 
     if (isClicked) { 
      defaultImage=false; 
      img1.setImageResource(R.drawable.image1); 
     } 
     else 
     { 
      defaultImage=true; 
      img1.setImageResource(R.drawable.defaut); 
     } 
    } 
});