Android的动画效果分为两种,一种是tweened animation(补间动画),第二种是frame by frame animation。

一般我们用的是第一种。补间动画又分为AlphaAnimation,透明度转换 RotateAnimation,旋转转换 ScaleAnimation,缩放转换 TranslateAnimation 位置转换(移动)。
动画效果在anim目录下的xml文件中定义,在程序中用AnimationUtils.loadAnimation(Context context,int ResourcesId)载入成Animation对象,在需要显示动画效果时,执行需要动画的View的startAnimation方法,传入Animation,即可。切换Activity也可以应用动画效果,在startActivity方法后,执行overridePendingTransition方法,两个参数分别是切换前的动画效果,切换后的动画效果,下面的例子中传入的是两个alpha动画,以实现切换Activity时淡出淡入,渐隐渐现效果。

1.淡出效果

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<alpha
android:fromAlpha="1.0"
android:toAlpha="0.0"
android:duration="500"
/>
</set>

<!--
fromAlpha:开始时透明度
toAlpha:结束时透明度
duration:动画持续时间
-->

2.淡入效果

<?xml version="1.0" encoding="utf-8"?>

<set xmlns:android="http://schemas.android.com/apk/res/android">

<alpha android:fromAlpha="0.0"

android:toAlpha="1.0"

android:duration="500" />

</set>

<?xml version="1.0" encoding="utf-8"?>

<set xmlns:android="http://schemas.android.com/apk/res/android">

3.旋转效果:

<rotate

android:interpolator="@android:anim/accelerate_decelerate_interpolator"

android:fromDegrees="300" a

ndroid:toDegrees="-360"

android:pivotX="10%"

android:pivotY="100%"

android:duration="10000" />

</set>

<!-- fromDegrees开始时的角度

toDegrees动画结束时角度

pivotX,pivotY不太清楚,看效果应该是定义旋转的圆心的-->

4.缩放效果:

<set xmlns:android="http://schemas.android.com/apk/res/android">

<scale

android:interpolator= "@android:anim/decelerate_interpolator"

android:fromXScale="0.0" a

ndroid:toXScale="1.5"

android:fromYScale="0.0"

android:toYScale="1.5"

android:pivotX="50%"

android:pivotY="50%"

android:startOffset="0"

android:duration="10000"

android:repeatCount="1"

android:repeatMode="reverse" />

</set>

<!-- interpolator指定动画插入器,常见的有加速减速插入器accelerate_decelerate_interpolator,加速插入器accelerate_interpolator,减速插入器decelerate_interpolator。fromXScale,fromYScale,动画开始前X,Y的缩放,0.0为不显示,1.0为正常大小 toXScale,toYScale,动画最终缩放的倍数,1.0为正常大小,大于1.0放大 pivotX,pivotY动画起始位置,相对于屏幕的百分比,两个都为50%表示动画从屏幕中间开始 startOffset,动画多次执行的间隔时间,如果只执行一次,执行前会暂停这段时间,单位毫秒 duration,一次动画效果消耗的时间,单位毫秒,值越小动画速度越快 repeatCount,动画重复的计数,动画将会执行该值+1次 repeatMode,动画重复的模式,reverse为反向,当第偶次执行时,动画方向会相反。restart为重新执行,方向不变 -->

5.移动效果:

<?xml version="1.0" encoding="utf-8"?>

<set xmlns:android="http://schemas.android.com/apk/res/android">

<translate

android:fromXDelta="320" a

ndroid:toXDelta="0"

android:fromYDelta="480"

android:toYDelta="0"

android:duration="10000" />

</set>

<!-- fromXDelta,fromYDelta起始时X,Y座标,屏幕右下角的座标是X:320,Y:480 toXDelta,toYDelta动画结束时X,Y的座标 -->




更多相关文章

  1. android后台执行定时任务(保活)&&使用AlarmManager的各种坑
  2. 解析ANDROID ps命令执行后各项参数的含义
  3. Android——属性动画(Property Animation)
  4. android延迟执行任务(刷新按钮旋转)
  5. 用自定义 LayoutManager 实现 Android(安卓)中 Gallery 或者 Vie
  6. 如何申请Android(安卓)MapView的apiKey
  7. 实现Android简单动画旋转案例源码
  8. Android的电话功能介绍
  9. Android设置透明、半透明等效果

随机推荐

  1. Android(安卓)读SIM卡信息
  2. android问题(1)
  3. 几款好用的Android(安卓)Studio插件
  4. 初识com.android.phone
  5. android 反编译:解决xml二进制文件
  6. android 开发论坛资源URL
  7. android中对服务的应用管理
  8. android开发环境搭建之我见myeclipse8.5
  9. android监听事件添加动作的三种方式
  10. Android消息机制之四---Looper,Handler,Mes