通过 XML 让 Android 按钮在点击时更改背景

发布于 2024-10-01 04:02:07 字数 151 浏览 4 评论 0原文

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

Is there a way to specify an alternative background image/color for a Button in the XML file that is going to be applied onClick, or do I have to do a Button.setBackground() in the onClickListener?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

眼眸 2024-10-08 04:02:08

要使用代码更改图像:

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

To change the image by using code:

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

Or, using an XML file:

<?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>

In OnClick, just add this code:

ButtonName.setBackgroundDrawable(getResources().getDrawable(R.drawable.ImageName));
︶葆Ⅱㄣ 2024-10-08 04:02:08

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

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

In the latest version of the SDK, you would use the setBackgroundResource method.

public void onClick(View v) {
   if(v == ButtonName) {
     ButtonName.setBackgroundResource(R.drawable.ImageResource);
   }
}
只为一人 2024-10-08 04:02:08
public void methodOnClick(View view){

Button.setBackgroundResource(R.drawable.nameImage);

}

我建议使用 LinearLayout 内的按钮来调整 Linear 的大小。

public void methodOnClick(View view){

Button.setBackgroundResource(R.drawable.nameImage);

}

i recommend use button inside LinearLayout for adjust to size of Linear.

策马西风 2024-10-08 04:02:08

尝试:

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

Try:

public void onclick(View v){
            ImageView activity= (ImageView) findViewById(R.id.imageview1);
        button1.setImageResource(R.drawable.buttonpressed);}
-柠檬树下少年和吉他 2024-10-08 04:02:08

我用它来更改按钮的背景

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

“按钮”是保存我的按钮的变量,背景中设置的图像是primary_button

I used this to change the background for my button

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

"button" is the variable holding my Button, and the image am setting in the background is primary_button

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文