美文网首页程序员
Android百思不得姐项目开发(欢迎界面的完成)

Android百思不得姐项目开发(欢迎界面的完成)

作者: 临窗听雨 | 来源:发表于2017-09-08 23:12 被阅读91次

    一、概述

    今天开始百思不得姐的项目开发,顺便写几篇博客记录进度
    欢迎界面的效果图

    欢迎界面.gif

    二、解决思路

    一般我们欢迎界面,过渡到主页有以下几种解决方案:
    1、属性动画(ObjectAnimator)
    2、补间动画(TranstionAnimator,ScaleAnimator,RotateAnimator)
    3、timer定时器去延时执行一个任务
    4、Thread+Hanlder

    我们这里采用第一种方案解决
    欢迎界面LauchActivity的代码:

     private ImageView mIv;
    
        @Override
        protected void onCreate(@Nullable Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_lauch);
            mIv = (ImageView) findViewById(R.id.iv_lauch);
            //用属性动画  ofFloat(Object target, String propertyName, float... values)
            //target 是执行动画的目标控件 propertyName 属性名称 values变化值
            ObjectAnimator objectAnimator = ObjectAnimator.ofFloat(mIv,"scaleX",0.5f,1.0f);
            objectAnimator.addListener(new AnimatorListenerAdapter() {
                @Override
                public void onAnimationEnd(Animator animation) {
                    super.onAnimationEnd(animation);
                    //动画结束后跳转到主页面
                    Intent intent = new Intent(LauchActivity.this,MainActivity.class);
                    startActivity(intent);
                    finish();
                }
            });
            objectAnimator.setDuration(2000);
            objectAnimator.start();
    //        objectAnimator.addListener(new Animator.AnimatorListener() {
    //            @Override
    //            public void onAnimationStart(Animator animation) {
    //
    //            }
    //
    //            @Override
    //            public void onAnimationEnd(Animator animation) {
    //                //动画结束后跳转到
    //                Intent intent = new Intent(LauchActivity.this,MainActivity.class);
    //                startActivity(intent);
    //            }
    //
    //            @Override
    //            public void onAnimationCancel(Animator animation) {
    //
    //            }
    //
    //            @Override
    //            public void onAnimationRepeat(Animator animation) {
    //
    //            }
    //        });
        }
    }
    

    三、分析及总结

    注释的代码是复写了所有动画监听的方法,然后在动画结束跳转到主页,我们可以AnimatorListenerAdapter监听里面就只实现我们想要的onAnimationEnd方法,这也是google工程师对适配器模式的运用,在自己项目中可以经常用这个模式去写代码。
    分析完毕,欢迎界面就到此,代码链接:
    http://pan.baidu.com/s/1o80ZCkM

    相关文章

      网友评论

        本文标题:Android百思不得姐项目开发(欢迎界面的完成)

        本文链接:https://www.haomeiwen.com/subject/gnnnjxtx.html