几种常用的Android补间动画
分类:Android, Java
阅读 (2,095)
Add comments
3月 012017
本文总结了几种常用的补间动画效果,具体的使用方法请参考网络上的其他文章:
先总结几点注意事项:
- 如果是多个动画组成的动画系统,duration值最好会设置成相同的,否则Activity切换的时候会出现黑底
- overridePendingTransition有的时候需要rebuild项目才有效果
1.放大效果(附加淡入效果)
在res/anim目录下新建zoomin.xml,并粘贴下面的代码
1 2 3 4 5 6 7 8 9 10 11 12 |
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@android:anim/decelerate_interpolator" android:zAdjustment="top"> <scale android:fromXScale="0.3" android:toXScale="1.0" android:fromYScale="0.3" android:toYScale="1.0" android:pivotX="50%p" android:pivotY="50%p" android:duration="300" /> <alpha android:fromAlpha="0.1" android:toAlpha="1.0" android:duration="300"/> </set> |
2.缩小效果(附加淡出效果)
在res/anim目录新建zoomout.xml,并粘贴下面的代码
1 2 3 4 5 6 7 8 9 10 11 12 |
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@android:anim/decelerate_interpolator" android:zAdjustment="top"> <scale android:fromXScale="1.0" android:toXScale=".5" android:fromYScale="1.0" android:toYScale=".5" android:pivotX="50%p" android:pivotY="50%p" android:duration="300" /> <alpha android:fromAlpha="1.0" android:toAlpha="0.1" android:duration="300"/> </set> |
3. 淡入效果
在res/anim目录新建fadein.xml,并粘贴下面的代码
1 2 3 4 5 6 7 |
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"> <alpha android:fromAlpha="0.1" android:toAlpha="1.0" android:duration="300" /> </set> |
4. 淡出效果
在res/anim目录下新建fadeout.xml,并粘贴下面的代码
1 2 3 4 5 6 7 |
<?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.1" android:duration="300" /> </set> |
5. 纵向布幕拉开效果(自中间往上下拉开)
在res/anim目录下新建open_verticaly_from_middle.xml,并粘贴下面的代码
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@android:anim/decelerate_interpolator"> <scale android:fromXScale="1.0" android:toXScale="1.0" android:fromYScale="0.1" android:toYScale="1.0" android:pivotX="50%p" android:pivotY="50%p" android:duration="300" /> <alpha android:fromAlpha="1.0" android:toAlpha="1.0" android:duration="300" /> </set> |
6.纵向布幕关闭效果(自上下往中间关闭)
在res/anim目录下新建close_verticaly_to_middle.xml,并粘贴下面的代码
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@android:anim/decelerate_interpolator"> <scale android:fromXScale="1.0" android:toXScale="1.0" android:fromYScale="1.0" android:toYScale="0.1" android:pivotX="50%p" android:pivotY="50%p" android:duration="300" /> <alpha android:fromAlpha="1.0" android:toAlpha="1.0" android:duration="300" /> </set> |
7. 从顶部进入
在res/anim中建立文件slide_in_from_top.xml, 并粘贴下面的代码
1 2 3 4 5 6 |
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"> <translate android:fromYDelta="-100%" android:toYDelta="0" android:duration="300"/> </set> |
8. 从底部进入
在res/anim中新建文件slide_in_from_bottom.xml, 并粘贴下面的代码
1 2 3 4 5 6 7 |
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"> <translate android:fromXDelta="0" android:fromYDelta="200%" android:toYDelta="0" android:duration="300"/> </set> |
9. 从顶部划出
在res/anim中新建文件slide_out_to_top.xml, 并粘贴下面的代码
1 2 3 4 5 6 |
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"> <translate android:fromYDelta="0" android:toYDelta="-100%" android:duration="300"/> </set> |
10. 从底部划出
在res/anim中新建文件slide_out_to_bottom.xml, 并粘贴下面的代码
1 2 3 4 5 6 |
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"> <translate android:fromYDelta="0" android:toYDelta="200%" android:duration="300"/> </set> |