通过XML点击更改Android背景

有没有一种方法来指定将要应用onClick的XML文件中的Button的替代背景图像/颜色,还是我必须在Button.setBackground()执行Button.setBackground()

Related of "通过XML点击更改Android背景"

通过使用代码来改变图像

 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); } 

我build议使用LinearLayout内的button来调整Linear的大小。