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

nba*_*lle 34 android onclick android-button

有没有办法为将要应用的XML文件中的Button指定替代背景图像/颜色onClick,或者我是否必须Button.setBackground()onClickListener

Dav*_*vid 102

使用代码更改图像

public void onClick(View v) {
   if(v == ButtonName) {
     ButtonName.setImageResource(R.drawable.ImageName);
   }
}
Run Code Online (Sandbox Code Playgroud)

或者,使用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>
Run Code Online (Sandbox Code Playgroud)

OnClick,只需添加此代码:

ButtonName.setBackgroundDrawable(getResources().getDrawable(R.drawable.ImageName));
Run Code Online (Sandbox Code Playgroud)

  • @Paul在第二种方法中将xml文件放在drawable文件夹中,在想要使用的ImageView中设置android:src ="@ drawable/xmlfile" (2认同)

cdr*_*rev 7

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

public void onClick(View v) {
   if(v == ButtonName) {
     ButtonName.setBackgroundResource(R.drawable.ImageResource);
   }
}
Run Code Online (Sandbox Code Playgroud)