简体   繁体   English

如何在Java / Android Studio中使Imagebutton更改Image onClick in,并在ClickOut上返回其原始图像

[英]How to make an Imagebutton change Image onClick in and Back to its original on ClickOut in Java/Android Studio

So I have some Images of buttons that I created and I want to use them in android studio as ImageButtons. 所以我有一些我创建的按钮图像,我想在Android Studio中将它们用作ImageButtons。

在此处输入图片说明

Basically I want the ImageButton OnClick in to change its Image and OnClick out to return to its first Image. 基本上,我希望ImageButton在OnClick中更改其图像,然后在OnClick中返回其第一张图像。

I am trying this: 我正在尝试:

    View.OnClickListener imgButtonHandler = new View.OnClickListener() {

        public void onClick(View v) {
            goalsButton.setBackground(R.drawable.mygoalsclicked);

        }
    };

But I get the error: 但是我得到了错误:

In View cannot be applied to (Int) In View无法应用于(Int)

Can that be done in Android Studio? 可以在Android Studio中完成吗? And how? 如何? Does any one knows? 有谁知道吗? Thank you. 谢谢。

Use ToggleButton 使用切换按钮
Instead ImageView 而是ImageView

<ToggleButton 
        android:id="@+id/toggle"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/check"   <!--check.xml-->
        android:layout_margin="10dp"
        android:textOn=""
        android:textOff=""
        android:focusable="false"
        android:focusableInTouchMode="false"
        android:layout_centerVertical="true"/>

check.xml check.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <!-- When selected, use first Image -->
    <item android:drawable="@drawable/achievement"
          android:state_checked="true" />
    <!-- When not selected,  use second Image-->
    <item android:drawable="@drawable/achievementclicked"
        android:state_checked="false"/>

 </selector>

Are You Looking for? 您在找吗?

<ImageView
    android:id="@+id/imageView11"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:gravity="center"
    app:srcCompat="@drawable/image_selector" />

image_selector.xml image_selector.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
   <item android:drawable="@drawable/achievementclicked" android:state_pressed="true" />
   <item android:drawable="@drawable/achievement" />
</selector>

In the onClick method you have to put this code: 在onClick方法中,您必须输入以下代码:

ImageButton.setImageResource(R.drawable.your_image); ImageButton.setImageResource(R.drawable.your_image);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM