当我遇到一个小问题时,我正在学习android,并试图为ImageView做一个淡入淡出的动画
ImageView batman = (ImageView)findViewById(R.id.batmanb);
batman.animate().alpha(0f).setDuration(500);
我为ID为batman
的ImageView创建了一个onClick,并编写了代码。然而,它不是在500毫秒内缓慢消失,而是在几秒钟后消失在其中。有关做什么的任何建议?
答案 0 :(得分:0)
您可以尝试 Object Animator
或 AlphaAnimation
使用,
ImageView batman= (ImageView) findViewById(R.id.yourid);
ObjectAnimator objectAnimator = ObjectAnimator.ofFloat(batman, "alpha", 1f, 0f);
objectAnimator.setDuration(500L);
objectAnimator.start();
或使用,
AlphaAnimation fade_in = new AlphaAnimation(1f, 0f);
fade_in.setDuration(500);
yourImageView.startAnimation(fade_in);
答案 1 :(得分:0)
创建两个xml文件
fade_in.xml
<?xml version="1.0" encoding="utf-8"?>
<alpha xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_interpolator"
android:fromAlpha="0.0" android:toAlpha="1.0"
android:duration="500" />
fade_out.xml
<?xml version="1.0" encoding="utf-8"?>
<alpha xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_interpolator"
android:fromAlpha="1.0" android:toAlpha="0.0"
android:fillAfter="true"
android:duration="500" />
on fade_in动画的Click事件使用此代码
Animation animation = AnimationUtils.loadAnimation(FadeInFadOutAnimationActivity.this, R.anim.fade_in);
YOUR_IMAGE.startAnimation(animation);
YOUR_IMAGE.setVisibility(View.VISIBLE);
on fade_out动画的Click事件使用此代码
Animation animation = AnimationUtils.loadAnimation(FadeInFadOutAnimationActivity.this, R.anim.fade_out);
YOUR_IMAGE.startAnimation(animation);
YOUR_IMAGE.setVisibility(View.INVISIBLE);