我有两个简单的动画,fade_in.xml和fade_out.xml。我希望单击“登录”按钮时不显示登录表单。我希望请求完成后可以看到它。第一部分按预期工作,但是当请求完成时,动画和登录表单将不可见。
<alpha xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="300"
android:fromAlpha="0.0"
android:toAlpha="1.0" />
这是淡入淡出xml是
<alpha xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="300"
android:fromAlpha="1.0"
android:toAlpha="0.0" />
我的动画方法是
void animateStart() {
Animation animationFadeOut;
animationFadeOut = AnimationUtils.loadAnimation(context, R.anim.fade_out);
animationFadeOut.setAnimationListener(new Animation.AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
}
@Override
public void onAnimationEnd(Animation animation) {
formLayout.setVisibility(View.GONE);
}
@Override
public void onAnimationRepeat(Animation animation) {
}
});
formLayout.startAnimation(animationFadeOut);
}
和
void animateFinish() {
Animation animationFadeIn;
animationFadeIn = AnimationUtils.loadAnimation(context, R.anim.fade_in);
animationFadeIn.setAnimationListener(new Animation.AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
}
@Override
public void onAnimationEnd(Animation animation) {
formLayout.setVisibility(View.VISIBLE);
}
@Override
public void onAnimationRepeat(Animation animation) {
}
});
formLayout.startAnimation(animationFadeIn);
}
我的表单为xml
<LinearLayout
android:id="@+id/container_login_form"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:animateLayoutChanges="true"
android:layout_centerVertical="true"
android:orientation="horizontal">..</LinearLayout>
我该如何解决?
删除动画侦听器,然后setFillAfter(true)
像这样添加到动画中
void animateStart() {
Animation animationFadeOut;
animationFadeOut = AnimationUtils.loadAnimation(context, R.anim.fade_out);
animationFadeOut.setFillAfter(true);
formLayout.startAnimation(animationFadeOut);
}
void animateFinish() {
Animation animationFadeIn;
animationFadeIn = AnimationUtils.loadAnimation(context, R.anim.fade_in);
animationFadeIn.setFillAfter(true);
formLayout.startAnimation(animationFadeIn);
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句