Java 临时交换按钮中的图像';点击后的背景

Java 临时交换按钮中的图像';点击后的背景,java,android,android-layout,button,background,Java,Android,Android Layout,Button,Background,我已经为我的按钮的背景准备了两个图形。我在xml文件中输入了一个“android:background”,我不知道如何在单击后将此图像更改为另一个图像 我尝试使用OnHoverListener和OnClickListener来实现这一点,但没有成功 Button.setOnClickListener(new OnClickListener() { public void onClick(View v) { Button.setBackground(get

我已经为我的按钮的背景准备了两个图形。我在xml文件中输入了一个“android:background”,我不知道如何在单击后将此图像更改为另一个图像

我尝试使用OnHoverListener和OnClickListener来实现这一点,但没有成功

Button.setOnClickListener(new OnClickListener() {

        public void onClick(View v) {
            Button.setBackground(getResources().getDrawable(
                    R.drawable.img_hovered));
Button.setBackground(getResources().getDrawable(R.drawable.img));
        }
    });

看看以下内容是否符合您的要求。代码假定
R.drawable.img
是原始背景。单击
按钮
时,背景变为
R.drawable.img_,悬停
0.5秒。然后它返回到
R.drawable.img

Button.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View v) {

        Button.setBackground(getResources().getDrawable(
                              R.drawable.img_hovered));

        new Handler().postDelayed(new Runnable() {

            public void run() {

                Button.setBackground(getResources().getDrawable(R.drawable.img));

                // Button Click Code Here
            }

        }, 500L);    // 0.5 Seconds

    }

});

若你们想让它成为可点击的按钮,那个么在drawable文件夹中创建一个选择器xml并复制下面的代码

让我们将其名称命名为app_click.xml

 <selector xmlns:android="http://schemas.android.com/apk/res/android" >

 <item android:drawable="@drawable/yourimage_pressed" android:state_pressed="true"/>
 <item android:drawable="@drawable/yourimage_unpressed"/>
 </selector>

您的问题不清楚,您想将其设置为可单击按钮,或者您想在单击后更改背景?我的意思是,当您单击此按钮时,他的背景将被切换到另一个图像上一刻(0,5秒)
<Button

        android:layout_width="wrap_content"
        android:layout_height="wrap_content"

        android:background="@drawable/app_click" />