Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/183.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 褪色动画_Android_Android Animation - Fatal编程技术网

Android 褪色动画

Android 褪色动画,android,android-animation,Android,Android Animation,我正在尝试用android制作淡入淡出的动画。通过点击一个图像转换发生,我可以看到下一个图像 但如何通过单击第二个图像返回到第一个图像 public void fade (View view) { ImageView naruto = (ImageView) findViewById(R.id.naruto); ImageView sasuke = (ImageView) findViewById(R.id.sasuke); naruto.animate().alpha(

我正在尝试用android制作淡入淡出的动画。通过点击一个图像转换发生,我可以看到下一个图像

但如何通过单击第二个图像返回到第一个图像

public void fade (View view) {
    ImageView naruto = (ImageView) findViewById(R.id.naruto);
    ImageView sasuke = (ImageView) findViewById(R.id.sasuke);
    naruto.animate().alpha(0f).setDuration(2000);
    sasuke.animate().alpha(1f).setDuration(2000);
}

public void reappear (View view) {
    ImageView sasuke1 = (ImageView) findViewById(R.id.sasuke);
    ImageView naruto1 = (ImageView) findViewById(R.id.naruto);
    sasuke1.animate().alpha(0f).setDuration(2000);
    naruto1.animate().alpha(1f).setDuration(2000);
}
褪色:

重新出现:

public void reappear (View view) {
    ImageView sasuke = (ImageView) findViewById(R.id.sasuke);
    ImageView naruto = (ImageView) findViewById(R.id.naruto);
    sasuke.animate().alpha(0f).setDuration(2000).setListener(new AnimatorListenerAdapter() {
        @Override
        public void onAnimationEnd(Animator animation) {
            naruto.setVisibility(View.GONE);
        }
    });
    naruto.setAlpha(0f);
    naruto.setVisibility(View.VISIBLE);
    naruto.animate().alpha(1f).setDuration(2000);
}

处理ViewPropertyAnimator时,无需使用AnimatorListenerAdapter或AnimatorListener。相反,您可以使用:
sasuke.animate().alpha(0f).setDuration(2000).withEndAction(new Runnable(){@Override public void run(){sasuke.setVisibility(View.GONE);})
public void reappear (View view) {
    ImageView sasuke = (ImageView) findViewById(R.id.sasuke);
    ImageView naruto = (ImageView) findViewById(R.id.naruto);
    sasuke.animate().alpha(0f).setDuration(2000).setListener(new AnimatorListenerAdapter() {
        @Override
        public void onAnimationEnd(Animator animation) {
            naruto.setVisibility(View.GONE);
        }
    });
    naruto.setAlpha(0f);
    naruto.setVisibility(View.VISIBLE);
    naruto.animate().alpha(1f).setDuration(2000);
}