Java 在安卓系统中,如何通过点击一幅图像使其淡出,并引入另一幅图像?
我想在android studio中制作一个应用程序。它显示了巴特·辛普森在发射时的照片。如果我点击图像,它将在2秒内淡出,荷马·辛普森的图像将出现。这就是我所尝试的: XML:- 但是,如果我在手机上运行这个应用程序,就会发现荷马·辛普森的图像在2秒钟后出现并消失 为什么会这样 如果我们以编程方式进行,理想情况下巴特·辛普森的形象应该淡出,荷马·辛普森应该出现Java 在安卓系统中,如何通过点击一幅图像使其淡出,并引入另一幅图像?,java,android,xml,Java,Android,Xml,我想在android studio中制作一个应用程序。它显示了巴特·辛普森在发射时的照片。如果我点击图像,它将在2秒内淡出,荷马·辛普森的图像将出现。这就是我所尝试的: XML:- 但是,如果我在手机上运行这个应用程序,就会发现荷马·辛普森的图像在2秒钟后出现并消失 为什么会这样 如果我们以编程方式进行,理想情况下巴特·辛普森的形象应该淡出,荷马·辛普森应该出现 我做错什么了吗?您可以为动画设置侦听器,并在完成动画时更改图像资源 bartImageView.animate().alpha(0f)
我做错什么了吗?您可以为动画设置侦听器,并在完成动画时更改图像资源
bartImageView.animate().alpha(0f).setDuration(2000).setListener(new Animator.AnimatorListener() {
@Override
public void onAnimationStart(Animator animator) {
}
@Override
public void onAnimationEnd(Animator animator) {
bartImageView.setImageResource(R.drawable.homer_simpson);
}
@Override
public void onAnimationCancel(Animator animator) {
}
@Override
public void onAnimationRepeat(Animator animator) {
}
});
不要忘记在动画之后将alpha设置为1
bartImageView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
bartImageView.animate().alpha(0).setDuration(2000).withEndAction(new Runnable() {
@Override
public void run() {
bartImageView.setImageResource(R.drawable.homer_simpson);
bartImageView.setAlpha(1f);
}
});;
}
});
在我的代码中,为什么“bartImageView.setImageResource(R.drawable.homer_simpson);”先被执行,然后“bartImageView.animate().alpha(0).setDuration(2000);”被执行?你在
XMLAndroid:src=“@drawable/bart_simspon”
中设置了bart_simspon,你用xml初始化视图。我的问题是为什么bartImageView.setImageResource(R.drawable.homer_simpson);
首先执行,而不是bartImageView.animate().alpha(0).setDuration(2000);
当我第一次写这篇文章时,我设置了XMLAndroid:src=“@drawable/bart_simpson
,因为我想先显示那张图片,你错了,bartImageView.setImageResource(R.drawable.homer_simpson)
在此之前没有执行,因为您在XML中初始化imageview如果我没有放置bartImageView.setAlpha(1f);
,默认alpha值是什么?0是您在动画中设置的值,因此它将不可见
bartImageView.animate().alpha(0f).setDuration(2000).setListener(new Animator.AnimatorListener() {
@Override
public void onAnimationStart(Animator animator) {
}
@Override
public void onAnimationEnd(Animator animator) {
bartImageView.setImageResource(R.drawable.homer_simpson);
}
@Override
public void onAnimationCancel(Animator animator) {
}
@Override
public void onAnimationRepeat(Animator animator) {
}
});
bartImageView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
bartImageView.animate().alpha(0).setDuration(2000).withEndAction(new Runnable() {
@Override
public void run() {
bartImageView.setImageResource(R.drawable.homer_simpson);
bartImageView.setAlpha(1f);
}
});;
}
});