有没有办法为要应用的 XML 文件中的 Button 指定替代背景图像/颜色onClick
,还是我必须在Button.setBackground()
其中做一个onClickListener
?
问问题
152788 次
5 回答
105
使用代码更改图像:
public void onClick(View v) {
if(v.id == R.id.button_id) {
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));
于 2010-11-08T16:36:55.580 回答
7
在最新版本的 SDK 中,您将使用该setBackgroundResource
方法。
public void onClick(View v) {
if(v == ButtonName) {
ButtonName.setBackgroundResource(R.drawable.ImageResource);
}
}
于 2013-01-25T20:52:36.210 回答
2
public void methodOnClick(View view){
Button.setBackgroundResource(R.drawable.nameImage);
}
我建议使用 LinearLayout 内的按钮来调整线性的大小。
于 2015-05-11T20:20:26.447 回答
1
尝试:
public void onclick(View v){
ImageView activity= (ImageView) findViewById(R.id.imageview1);
button1.setImageResource(R.drawable.buttonpressed);}
于 2013-06-17T04:48:10.143 回答
0
我用它来更改按钮的背景
button.setBackground(getResources().getDrawable(R.drawable.primary_button));
“button”是保存我的Button的变量,背景中设置的图像是primary_button
于 2020-02-11T18:42:09.557 回答