前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >[android] 界面切换的简单动画

[android] 界面切换的简单动画

作者头像
唯一Chat
发布2019-09-10 16:21:58
1.4K0
发布2019-09-10 16:21:58
举报
文章被收录于专栏:陶士涵的菜地

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

Activity中开启动画

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

left_to_right.xml

代码语言:javascript
复制
<?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>
代码语言:javascript
复制
View child=new IndexView(this).getMemberView();
child.startAnimation(AnimationUtils.loadAnimation(this, R.anim.left_to_right));

2. 淡入淡出动画

当前淡出界面和执行时间

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

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

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

代码语言:javascript
复制
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);
    }
}
代码语言:javascript
复制
FadeUtil.fadeOut(child, 2000);
代码语言:javascript
复制
FadeUtil.fadeIn(child, 2000,2000);
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016-06-28 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档