解决方案 »

  1.   

    是的,animationset就是动画集,但是无法同时执行多个animation啊
      

  2.   

    animationSet放入多个animation,最后通过view.startAnimation( animationSet)即可
      

  3.   

    谢谢您,我有个问题,因为我不是简单的一个方法中实现animationSet的,我是要实现一个直线的平移,但是平移中,图片的角度是我利用设备的传感器来判断角度,所以我很纠结怎么去一起实现,我仅仅用传感器的方法来实现指南针的方向,是正常的,,但是我用animationset就发现不正常
      

  4.   

    自己重写一个插值器,插值器中的实现方法中根据当前角度判断值返回,然后set给你的角度动画,注意,只set给这一个就好了
      

  5.   

    之前我做界面切换动画的时候好像遇到过类似的问题,我当时的需求是界面退出的动画是界面先缩小一部分,然后平移出去,动画xml文件是这么写的:
    <?xml version="1.0" encoding="utf-8"?>
    <set xmlns:android="http://schemas.android.com/apk/res/android" >
        <scale
            android:duration="500"
            android:fromXScale="1.0"
            android:fromYScale="1.0"
            android:pivotX="50%p"
            android:pivotY="50%p"
            android:toXScale=".7"
            android:toYScale=".7" />
        <translate
            android:startOffset="500"
            android:duration="500"
            android:fromXDelta="0"
            android:toXDelta="-100%p" />
    </set>
    这个会先执行上面的 缩放动画,执行完后再执行下面的平移动画,如果你想要同时执行的效果,应该把第二个动画的startOffset属性去掉就可以了,如果我没有记错的话,也就是改成这样:
    <?xml version="1.0" encoding="utf-8"?>
    <set xmlns:android="http://schemas.android.com/apk/res/android" >
        <scale
            android:duration="500"
            android:fromXScale="1.0"
            android:fromYScale="1.0"
            android:pivotX="50%p"
            android:pivotY="50%p"
            android:toXScale=".7"
            android:toYScale=".7" />
        <translate
            android:duration="500"
            android:fromXDelta="0"
            android:toXDelta="-100%p" />
    </set>
    你试试看看哈,不一定行,但是应该是可以的
      

  6.   

    setStartOffset方法:设置启动时间【功能说明】该方法用于设置一个动画执行的启动时间,单位为毫秒。系统默认当执行start方法后立刻执行动画,当使用该方法设置后,将延迟一定的时间再启动动画。我上面的动画设置的是500毫秒,而第一个动画的duration是500毫秒,所以第二个动画会在第一个执行完成之后再执行,不设置setStartOffset的话就应该会同时执行了
      

  7.   

    有个开源项目,叫NineOldAndroids,专门给3.0以下的版本做各种复杂的动画效果,LZ不妨去看下
    人家的源码连接:https://github.com/JakeWharton/NineOldAndroids同时动画,有个方法,AnimatorSet.playTogether()方法,可以同时执行多个控件的动画。
    http://blog.csdn.net/singwhatiwanna/article/details/17639987
    再附上一个简单教程