2014-11-01 2 views
0

Существует изображение фона imageButton. Он имеет фоновое изображение по умолчанию во время un-select. Когда кнопка 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

+0

@madhavan, как, как выше изменения все изображения imagesButton в OnClick метод –

+0

ОК спасибо ! позвольте мне попробовать .... – madhavan

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); 
     } 
    } 
}); 
Смежные вопросы