我有一个 ImageView,当它被点击时,它必须使用过渡来改变图像(例如淡入淡出、滚动……)。我该怎么做?
我试过这段代码
imageView.animate().alpha(0f).setDuration(2000);
imageView.setImageResource(R.drawable.icon_wb);
imageView.animate().alpha(1f).setDuration(2000);
但它不适用于 API < 23 (Android 6.0)。
最佳答案
淡出.xml
<alpha
android:duration="4000"
android:fromAlpha="1.0"
android:interpolator="@android:anim/accelerate_interpolator"
android:toAlpha="0.0" />
淡入淡出.xml
<alpha
android:duration="6000"
android:fromAlpha="0.0"
android:interpolator="@android:anim/accelerate_interpolator"
android:toAlpha="1.0" />
在你的java类中
Animation animFadeOut = AnimationUtils.loadAnimation(this, R.anim.fade_out);
Animation animFadeIn = AnimationUtils.loadAnimation(this, R.anim.fade_in);
animFadeOut.reset();
imageview.clearAnimation();
imageview.startAnimation(animFadeOut);
animFadeIn.reset();
imageview.clearAnimation();
imageview.startAnimation(animFadeIn);
并在你想要的地方隐藏或显示 ImageView
也检查一下 link
您需要创建一个新文件夹,右键单击 res 文件夹创建新文件夹,将其命名为 anim。您可以将动画 xml 放入其中。
另请查看本教程网站,其提供的分步教程 link
关于java - Android ImageView 的过渡效果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42748372/