2014-11-01 143 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); 
     } 
    } 
});