zoukankan      html  css  js  c++  java
  • Android攻城狮动画组合

    组合动画
    案例一(续播1):
        两个动画A和B,先播放动画A,设置A的AnimationListener(会重写3个方法),当其中一个方法onAnimationEnd()触发,也就是当A播放完毕的时候,开始播放B。核心代码如下:
    Animation loadAnimation = AnimationUtils.loadAnimation( this, R.anim.translate ); 
    image.startAnimation(loadAnimation); // 开启动画A
    Animation loadAnimation2 = AnimationUtils.loadAnimation( this, R.anim.rotate ); 
    loadAnimation.setAnimationListener( new AnimationListener(){
        // 继承三个方法,但只重写End方法
        @Override
        public void onAnimationStart(Animation arg0){}
        @Override
        public void onAnimationRepeat(Animation arg0){}
        @Override
        public void onAnimationEnd(Animation arg0){image.startAnimation(loadAnimation2);}// 开启动画B
    });

    案例二(续播2):
        写一个动画集 AnimationSet,在其中定义动画A和B,为动画B设置startOffset,其值就是前一个动画播放所需的时间。这里所举的例子不采用监听器,而是在动画的配置文件中写好。如图,连续写上两个<alpha>动画,实现图片的由透明变为不透明,然后由不透明再变为透明的两个连续动画。代码:
    <alpha
        android:duration="3000"
        android:fromAlpha="0.2"
        android:toAlpha="1.0" />
    <alpha
        android:duration="3000"
        android:fromAlpha="1.0"
        android:startOffset="3000"
        android:toAlpha="0.2" />

    例三(循环闪烁)
        利用Animation的setRepeatCount、setRepeatMode来实现动画循环。
    如图,采用代码实现:
    AlphaAnimation alphaAnimation = new Animation( 0.1f, 1.0f);
    alphaAnimation.setDuration(100);
    alphaAnimation.setRepeatCount(10);
    alphaAnimation.setRepeatMode((Animation.REVERSE); //倒序重复
    image.startAnimation( alphaAnimation );
    如果想要正序重复,则将 REVERSE 改为 RESTART。

    案例四(Activity切换动画):
    就是指从一个Activity跳转到另一个Activity时的动画。
    使用 overridePendingTransition方法。
    传进的参数:第二个Activity进入时的动画,第一个Activity退出时的动画。(注意参数的顺序)
    代码:
    Intent intent = new Intent( MainActivity.this, MainActivity2.class);
    startActivity(intent);
    overridePendingTransition(R.ainm.zoom_in, R.anim.zoom_out);
    其中,R.ainm.zoom_in 和 R.anim.zoom_out 是我们自定义的动画。





  • 相关阅读:
    分布式事务的四种解决方案
    十大经典排序算法
    Vineyard 加入 CNCF Sandbox,将继续瞄准云原生大数据分析领域
    因你不同,2021 阿里云开发者大会重磅开启 @ 所有开发者!
    【深度】阿里巴巴万级规模 K8s 集群全局高可用体系之美
    业界率先支持 MCP-OVER-XDS 协议,Nacos 2.0.1 + 1.4.2 Release 正式发布
    被解救的代码
    KubeVela + KEDA:为应用带来“与生俱来”的弹性伸缩能力
    论好文章和烂文章
    Fluid 进入 CNCF Sandbox,加速大数据和 AI 应用拥抱云原生
  • 原文地址:https://www.cnblogs.com/my334420/p/6777562.html
Copyright © 2011-2022 走看看