[android] 界面切换的简单动画详解手机开发

1. 新建个位移动画的xml文件

Activity中开启动画

使用AnimationUtils类加载动画资源文件

left_to_right.xml

<?xml version="1.0" encoding="utf-8"?> 
<translate xmlns:android="http://schemas.android.com/apk/res/android" 
    android:fromXDelta="100%" 
    android:toXDelta="0" 
    android:duration="3000" 
    > 
</translate>
View child=new IndexView(this).getMemberView(); 
child.startAnimation(AnimationUtils.loadAnimation(this, R.anim.left_to_right));

 

 

2. 淡入淡出动画

当前淡出界面和执行时间

淡出过程中,淡入界面处于等待状态

第二个界面淡入和他的执行时间

第一个界面执行完成后,要删除掉

package com.tsh.lottery.utils; 
 
import android.support.v4.view.ViewPager; 
import android.view.View; 
import android.view.ViewGroup; 
import android.view.ViewParent; 
import android.view.animation.AlphaAnimation; 
import android.view.animation.Animation; 
import android.view.animation.Animation.AnimationListener; 
 
public class FadeUtil { 
    /** 
     * 淡出界面 
     * @param view 界面 
     * @param duration 执行时间 
     */ 
    public static void fadeOut(final View view,long duration){ 
        AlphaAnimation alphaAnimation=new AlphaAnimation(1, 0); 
        alphaAnimation.setDuration(duration); 
        view.startAnimation(alphaAnimation); 
        //监听动画结束,删除View元素 
        alphaAnimation.setAnimationListener(new AnimationListener() { 
             
            @Override 
            public void onAnimationStart(Animation animation) { 
            } 
             
            @Override 
            public void onAnimationRepeat(Animation animation) { 
            } 
             
            @Override 
            public void onAnimationEnd(Animation animation) { 
                ViewGroup vg=(ViewGroup) view.getParent(); 
                vg.removeView(view); 
            } 
        }); 
    } 
    /** 
     * 淡入界面 
     * @param view 界面 
     * @param delay 延迟时间 
     * @param duration 执行时间 
     */ 
    public static void fadeIn(View view,long delay,long duration){ 
        AlphaAnimation alphaAnimation=new AlphaAnimation(0, 1); 
        //设置开始时间延迟 
        alphaAnimation.setStartOffset(delay); 
        alphaAnimation.setDuration(duration); 
        view.startAnimation(alphaAnimation); 
    } 
}
FadeUtil.fadeOut(child, 2000);
FadeUtil.fadeIn(child, 2000,2000);

 

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/5386.html

(0)
上一篇 2021年7月16日
下一篇 2021年7月16日

相关推荐

发表回复

登录后才能评论