如何在Android Studio中一秒钟后自动更改图像?

如何在Android Studio中一秒钟后自动更改图像?,android,Android,我有一个名为“img1”的图像,我希望当我点击该图像时,它会变成另一个名为“img2”的图像,一秒钟后它会自动变回图像“img1” public class MainActivity extends AppCompatActivity { ImageView imageView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstan

我有一个名为“img1”的图像,我希望当我点击该图像时,它会变成另一个名为“img2”的图像,一秒钟后它会自动变回图像“img1”

public class MainActivity extends AppCompatActivity {
    ImageView imageView;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        imageView.findViewById(R.id.img1);}

        public void start(View view){
        imageView.setImageResource(R.drawable.img2);

        }
    }
}

第一次更改可以使用延迟1秒的处理程序,回滚可以使用延迟2秒的处理程序

public class MainActivity extends AppCompatActivity {
    ImageView imageView;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        imageView.findViewById(R.id.img1);}

        public void start(View view){
            
            new Handler(getMainLooper()).postDelayed(() -> {
                imageView.setImageResource(R.drawable.img2);
            }, 1000); // 1 second
            
            new Handler(getMainLooper()).postDelayed(() -> {
                imageView.setImageResource(R.drawable.img1);
            }, 2000); // 2 seconds
            
        }
    }
}

第一次更改可以使用延迟1秒的处理程序,回滚可以使用延迟2秒的处理程序

public class MainActivity extends AppCompatActivity {
    ImageView imageView;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        imageView.findViewById(R.id.img1);}

        public void start(View view){
            
            new Handler(getMainLooper()).postDelayed(() -> {
                imageView.setImageResource(R.drawable.img2);
            }, 1000); // 1 second
            
            new Handler(getMainLooper()).postDelayed(() -> {
                imageView.setImageResource(R.drawable.img1);
            }, 2000); // 2 seconds
            
        }
    }
}
代码如下:

    ImageView imageView = findViewById(R.id.img1);
    imageView.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            imageView.setImageResource(R.drawable.img2);
            new Timer().schedule(new TimerTask() {
                @Override
                public void run() {
                    imageView.setImageResource(R.drawable.img1);
                }
            }, 1000);
        }
    });
这样您就可以使用:

  • setOnClickListener()
    在单击图像时将调用的imageView上
  • setImageResource(R.drawable.image\u name)
    在ImageView上设置新图像
  • new Timer()。计划(new TimerTask())
    延迟新命令,在本例中延迟将图像设置回第一个
  • 1000
    是以毫秒为单位的1秒,如果需要5秒,只需写5000
    • 以下是代码:

          ImageView imageView = findViewById(R.id.img1);
          imageView.setOnClickListener(new View.OnClickListener() {
              @Override
              public void onClick(View v) {
                  imageView.setImageResource(R.drawable.img2);
                  new Timer().schedule(new TimerTask() {
                      @Override
                      public void run() {
                          imageView.setImageResource(R.drawable.img1);
                      }
                  }, 1000);
              }
          });
      
      这样您就可以使用:

      • setOnClickListener()
        在单击图像时将调用的imageView上
      • setImageResource(R.drawable.image\u name)
        在ImageView上设置新图像
      • new Timer()。计划(new TimerTask())
        延迟新命令,在本例中延迟将图像设置回第一个
      • 1000
        是以毫秒为单位的1秒,如果需要5秒,只需写5000