XML实现Android动画效果anim

原创
2012/11/23 14:00
阅读数 2.4K

第一次发,就发个简单的吧。。

= = 其实已经是被发表过无数次的话题了,不过看了别人的都是千篇一律,却没有讲全(你以为你的就很全了么!),所以我也来说一下。

就我们所知道的,在xml中实现动画效果很简单。像下面这样的模板基本就能做个像样的动画效果了。

<set xmlns:android="http://schemas.android.com/apk/res/android">
  <alpha/>
  <scale/>
  <translate/>
  <rotate/>
</set>

不过,这样实现的效果往往都只是一个简单的切换效果。不是向左右移动消失就是变大变小消失什么的。

但是哦!它可不是只能做到这样的效果哦~~其实有些人应该已经知道了,在设置动画参数的时候还可以设置动画发生的开始时间。我觉得这个很有趣~因为这样就能实现一套比较复杂的动画了~~

废话不多说,先上一个我写的动画效果~~

<?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%"
        android:pivotY="50%"
        android:toXScale="0.4"
        android:toYScale="0.4" />
    <scale
        android:startOffset="500"
        android:duration="100"
        android:fromXScale="1.0"
        android:fromYScale="1.0"
        android:pivotX="50%"
        android:pivotY="50%"
        android:toXScale="1.2"
        android:toYScale="1.2" />
    <scale
        android:startOffset="600"
        android:duration="100"
        android:fromXScale="1.0"
        android:fromYScale="1.0"
        android:pivotX="50%"
        android:pivotY="50%"
        android:toXScale="0.8"
        android:toYScale="0.8" />


    <scale
        android:startOffset="1000"
        android:duration="500"
        android:fromXScale="1.0"
        android:fromYScale="1.0"
        android:pivotX="50%"
        android:pivotY="50%"
        android:toXScale="1.0"
        android:toYScale="0.0" />


</set>

以下是配套的,我是用这两个作为Activity切换效果来看的,如果你也想看效果的话最好也这样做。

只要在startActivity后面写上一句overridePendingTransition,传入两个动画效果的xml就行了~~

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >


    <translate
        android:startOffset="1500"
        android:duration="500"
        android:fromXDelta="200%"
        android:fromYDelta="0"
        android:toXDelta="-50"
        android:toYDelta="0" />
    
    <translate
        android:startOffset="2000"
        android:duration="100"
        android:fromXDelta="0"
        android:fromYDelta="0"
        android:toXDelta="+80"
        android:toYDelta="0" />
    
    <translate
        android:startOffset="2100"
        android:duration="100"
        android:fromXDelta="0"
        android:fromYDelta="0"
        android:toXDelta="-30"
        android:toYDelta="0" />


</set>


-----------------人家才不分割线呢---------------

咳咳,试试看效果吧,虽然有点搓。。。= =

期待大神批斗。。。QAQ

展开阅读全文
打赏
0
8 收藏
分享
加载中
更多评论
打赏
0 评论
8 收藏
0
分享
返回顶部
顶部