Сделать фон для изменения кнопки Android при щелчке по XML

Есть ли способ указать альтернативное фоновое изображение / цвет для кнопки в XML-файле, который будет применяться onClick , или мне нужно сделать Button.setBackground() в onClickListener ?

Solutions Collecting From Web of "Сделать фон для изменения кнопки Android при щелчке по XML"

Чтобы изменить изображение с помощью кода

 public void onClick(View v) { if(v == ButtonName) { ButtonName.setImageResource(R.drawable.ImageName); } } 

Или, используя файл XML:

 <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="true" android:drawable="@drawable/login_selected" /> <!-- pressed --> <item android:state_focused="true" android:drawable="@drawable/login_mouse_over" /> <!-- focused --> <item android:drawable="@drawable/login" /> <!-- default --> </selector> 

В OnClick просто добавьте этот код:

 ButtonName.setBackgroundDrawable(getResources().getDrawable(R.drawable.ImageName)); 

В последней версии SDK вы должны использовать метод setBackgroundResource .

 public void onClick(View v) { if(v == ButtonName) { ButtonName.setBackgroundResource(R.drawable.ImageResource); } } 

Пытаться:

 public void onclick(View v){ ImageView activity= (ImageView) findViewById(R.id.imageview1); button1.setImageResource(R.drawable.buttonpressed);} 
 public void methodOnClick(View view){ Button.setBackgroundResource(R.drawable.nameImage); } 

Я рекомендую использовать кнопку внутри LinearLayout для регулировки размера Linear.