项目中闪屏页动画的开发

闪屏页介绍

在应用中有动态的闪屏页,有静态的闪屏页,但归根结底其实是一个背景加一个图片设置一些动画制作的,现在我们一起看看这个闪屏页是怎么实现的吧。

获取布局控件的对象

RelativeLayout rl;
protected void onCreate(Bundle savedInstanceState) {
     super.onCreate(savedInstanceState);
     setContentView(R.layout.activity_main);
     //初始化布局
     setView();
     //设置动画
     setAnim();
 }
private void setView() {
    rl=(RelativeLayout)findViewById(R.id.rl);
}

开始设置动画效果

这里我们使用在Activity界面中使用AnimationSet类实现,这个类里可以添加旋转、渐变和缩放等动画效果,然后交给View加载。
我们一起看看代码。

/**
* 创建动画
*/
private void setAnim() {
    AnimationSet  set=new AnimationSet(false);

        //旋转
        RotateAnimation roate = new RotateAnimation(0, 360, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);
        roate.setDuration(3000);
        roate.setFillAfter(true);//保持动画状态

        //渐变
        AlphaAnimation alpha=new AlphaAnimation(0,1);
        alpha.setDuration(3000);//设置时长
        alpha.setFillAfter(true);//保持动画状态

        //缩放动画
        ScaleAnimation scale=new ScaleAnimation(0,1,0,1,Animation.RELATIVE_TO_SELF,0.5f,Animation.RELATIVE_TO_SELF,0.5f);
        scale.setDuration(3000);
        scale.setFillAfter(true);

        set.addAnimation(roate);
        set.addAnimation(alpha);
        set.addAnimation(alpha);
        //这里是动画的监听效果
        set.setAnimationListener(new Animation.AnimationListener() {
            @Override
            public void onAnimationStart(Animation animation) {

            }

            @Override
            public void onAnimationEnd(Animation animation) {
                Intent intent=new Intent(MainActivity.this,GuideActivity.class);
                startActivity(intent);
            }

            @Override
            public void onAnimationRepeat(Animation animation) {

            }
        });
        rl.setAnimation(set);

    }

创建RotateAnimation、ScaleAnimation和AlphaAnimation对象交给AnimationSet类设置对象就可以实现我们的闪屏页了,然后在它的监听方法结束的方法里,就可以跳转到我们的引导页或者主页了。

今天遇到一个异常,查找百度发现是.9.png的问题,android studio会验证.9图片的合法性,解决办法是删除.9图片或者默认不检查.9图片的合法性。

Error:java.util.concurrent.ExecutionException:com.android.ide.common.process.ProcessException:
Error:Execution failed for task':app:mergeDebugResources'.
>Error:java.util.concurrent.ExecutionException:com.android.ide.common.process.ProcessException:
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值