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