点击浏览XML,使Android按钮更改背景

时间:2010-11-08 16:26:09

标签: android onclick android-button

有没有办法为要应用的onClick XML文件中的Button指定替代背景图像/颜色,或者我必须在{{Button.setBackground()中执行onClickListener 1}}?

5 个答案:

答案 0 :(得分:102)

使用代码

更改图像
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));

答案 1 :(得分:7)

在最新版本的SDK中,您将使用setBackgroundResource方法。

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

答案 2 :(得分:2)

public void methodOnClick(View view){

Button.setBackgroundResource(R.drawable.nameImage);

}

我建议使用LinearLayout内部的按钮调整线性大小。

答案 3 :(得分:1)

尝试:

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

答案 4 :(得分:0)

我用它来更改按钮的背景

            button.setBackground(getResources().getDrawable(R.drawable.primary_button));

“ button”是保存我的Button的变量,在后台设置的图像是primary_button