您的位置:首页 > 其它

欢迎页面的三个动画

2016-03-10 20:24 399 查看
欢迎页面设置三个动画,旋转,缩放,渐变。然后直接进入另一个界面。就是三个viewPaper组成的。同是设置一个标记。利用sp存储,这样在下次进入程序时根据标记来判断是否进入,如果第一次已经进入,那么下次就可以直接跳过进入主页面。

闲话不说,直接代码。

public class SplashActivity extends Activity {

    private static final String TAG = SplashActivity.class.getSimpleName();

    public static final String START_MAIN_ACTIVITY = "start_mainActivity";

    private RelativeLayout rl_splash_rootview;

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_splash);

        rl_splash_rootview = (RelativeLayout) findViewById(R.id.rl_splash_rootview);

        //设置三个动画:缩放动画,旋转动画,渐变动画

        ScaleAnimation sa = new ScaleAnimation(0, 1, 0, 1, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);

        sa.setDuration(2000);//设置播放时长

        sa.setFillAfter(true);//设置停留在播放后的状态

        RotateAnimation ra = new RotateAnimation(0, 360, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);

        ra.setDuration(2000);//设置播放时长

        ra.setFillAfter(true);//设置停留在播放后的状态

        AlphaAnimation aa = new AlphaAnimation(0, 1);

        aa.setDuration(2000);

        aa.setFillAfter(true);

        //让三个动画同时播放,添加动画没有先后顺序

        AnimationSet set = new AnimationSet(false);

        set.addAnimation(sa);

        set.addAnimation(ra);

        set.addAnimation(aa);

        rl_splash_rootview.startAnimation(set);

        //监听动画播放完成?监听set的动画播放完成

        set.setAnimationListener(new SplashAnimationListener());

    }

    class SplashAnimationListener implements Animation.AnimationListener {

        /**

         * 当动画开始播放的时候回调这个方法

         *

         * @param animation

         */

        @Override

        public void onAnimationStart(Animation animation) {

            Log.e(TAG, "onAnimationStart-----");

        }

        /**

         * 当动画播放完成的时候回调这个方法

         *

         * @param animation

         */

        @Override

        public void onAnimationEnd(Animation animation) {

            //判断一下是否进入过引导页面;

            //如果进入过了,并且点按钮了,就直接主页面,

            //否则去引导页面

            Intent intent;

            boolean isStartMainActivityed = CacheUtils.getBoolean(SplashActivity.this, START_MAIN_ACTIVITY);

            if (isStartMainActivityed) {

                //直接进入主页面

                intent = new Intent(SplashActivity.this, MainActivity.class);

            } else {

                intent = new Intent(SplashActivity.this, GuideActivty.class);

            }

            Log.e(TAG, "onAnimationEnd-----");

//          Toast.makeText(getApplication(),"动画播放完成",Toast.LENGTH_SHORT).show();

            startActivity(intent);

            finish();

        }

        /**

         * 当动画重复播放的时候回调这个方法

         *

         * @param animation

         */

        @Override

        public void onAnimationRepeat(Animation animation) {

            Log.e(TAG, "onAnimationRepeat-----");

        }

    }

}

xml文件就一个imageview需要添加。

 <ImageView

        android:layout_centerInParent="true"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:src="@drawable/splash_sheep_newyear" />
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  安卓 欢迎页面 动画