使用切换按钮更改图像

Change Image with toggle button

我是 Android 开发新手。我设法完成了一项任务,即通过单击两个不同的按钮来更改图像。

我的MainActivity.java:

package com.example.sandorhorvath.imageviewchange;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageView;


public class MainActivity extends AppCompatActivity {


    public void lightBox(View view) {
       ImageView image = (ImageView) findViewById(R.id.imageView);
       image.setImageResource(R.drawable.kawa2);
    }

    public void lightBox1(View view) {
        ImageView image = (ImageView) findViewById(R.id.imageView);
        image.setImageResource(R.drawable.kawa1);
    }


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
}

我想保持代码非常简单,并使用我尝试使用切换的一个按钮实现相同的功能,但我可以用 lightBox 识别 onClick,但我应该在哪里识别 lightBox2?我可以打开该功能,但找不到关闭功能值。

试试这个只用一个按钮切换图像的逻辑...把这个写在点击函数中

boolean check = false;

public void lightBox(View view) {

 if(check) {
 image
.setImageResource(R.drawable.kawa1                                          ); 
 check = false;}
else {
 image
.setImageResource(R.drawable.kawa2                                        ); 
 check = true;}

 }

工作得很好,在必须定义图像的代码中添加了一点修改。

boolean check = false;

public void lightBox(View view) {
    ImageView image = (ImageView) findViewById(R.id.imageView);

    if(check) {
        image.setImageResource(R.drawable.kawa1);
        check = false;
    } else {
        image.setImageResource(R.drawable.kawa2);
        check = true;
    }

 }

感谢您的帮助!逻辑完美!

您可以像这样使用支持设计库中的android.support.design.widget.CheckableImageButton

         <android.support.design.widget.CheckableImageButton
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:textOn="@null"
             android:textOff="@null"
             android:background="@null"
             android:src="@drawable/your_image"/>