java - image.setImageResource()何时在函数内设置图像资源?

标签 java android

目标:单击应用中的图像并使其淡出以显示不同的图像。

我的方法:让第一个图像在2000ms后消失,然后将第一个图像的图像资源更改为第二个图像,使第二个图像出现

我有一个由我的导师提供的正确解决方案,所以我不需要任何正确的解决方案。我想知道的是为什么我的解决方案不起作用,即为什么 setImageResource() 在开始时将 Image1 设置为 Image 2,尽管在最后调用了它

这是我创建的淡入淡出功能,当单击 image1 时它会转到该功能

公共(public)无效淡入淡出(查看 View ){

    ImageView image1 = findViewById(R.id.image1);
    image1.animate().alpha(0f).setDuration(2000); 

    image1.setImageResource(R.drawable.cat2);
}

实际输出:单击图像 1 后,图像 1 立即变为图像 2,然后图像 2 消失

问题:尽管在代码末尾调用了setImageResource(),但它实际上在开头设置了图像资源

最佳答案

你从来没有告诉image1.setImageResource(R.drawable.cat2);等待2000毫秒然后执行,所以一点击image2就出现了。

解决方案: 2000ms后调用image1.setImageResource(R.drawable.cat2);

   new Handler().postDelayed(() -> {
        image1.setImageResource(R.drawable.cat2);
        }, 2000);

这可能会有所帮助。

关于java - image.setImageResource()何时在函数内设置图像资源?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56360273/

相关文章:

java - 当使用 SXSSFWorkbook 创建 Excel 并使用 XSSFWorkbook 修改 Excel 时,字符串单元格数据在 Excel 编辑器中不可见

java - 从 native 代码访问 DoubleBuffer

java - 如何为集合项添加约束

Java - Spring Boot - Reactive Redis Stream (TEXT_EVENT_STREAM_VALUE)

android - 将 View 添加到 RelativeLayout 不尊重初始布局

android - 如何在自定义复选框 View 上保留支持库复选框的样式?

android - USB 调试未列出我的设备

java - Hibernate 找不到 getter

php - eclipse 中的 json 解析器出错

java - 有没有办法强制应用程序在使用主页按钮后始终从 Activity1 开始?