Android翻转动画实现技巧

Android 里的翻转动画,算是提升界面动效体验的一大利器了。你可以用早期的视图动画来搞定一些旋转效果,像用RotateAnimation转个 180 度,配个AnimationSet就能玩点花样。虽然这种方式直观,但有点“纸上谈兵”,UI 动了,状态其实没动。

真正灵活还得看属性动画。自从 Android 3.0 起,你可以直接操控rotationXrotationY这些属性,配合ObjectAnimatorAnimatorSet,横竖翻转随你组合。翻个卡片、切个面板、展开个详情——通通不在话下。

比如下面这段代码,算是“翻转动画入门款”了:

ObjectAnimator flipHorizontal = ObjectAnimator.ofFloat(view, "rotationY", 0f, 180f);
flipHorizontal.setDuration(500);
ObjectAnimator flipVertical = ObjectAnimator.ofFloat(view, "rotationX", 0f, 180f);
flipVertical.setDuration(500);
AnimatorSet flipSet = new AnimatorSet();
flipSet.playSequentially(flipHorizontal, flipVertical);
flipSet.start();

要是你想玩点进阶的,比如控制转速、加个alpha淡入淡出,那就得自己实现ValueAnimator.AnimatorUpdateListener了,定制化更高,效果也更顺。

实际项目里,这类翻转用得还挺多,比如列表展开、卡片翻面、详情页切换。只要你设计上愿意加点动感,这种动画能给交互加不少分。

不过提醒一下:翻转动画用多了,容易让性能“翻车”。尤其老设备,属性动画不兼容的话,记得用NineOldAndroids库兜底一下。

如果你正想给界面加点动效,又不想太复杂,Android 的翻转动画确实是个不错的切入点。直接上手,效果立现。

rar
Animation_1.rar 预估大小:51个文件
folder
Animation_1 文件夹
folder
bin 文件夹
file
classes.dex 698KB
folder
res 文件夹
folder
crunch 文件夹
folder
drawable-hdpi 文件夹
file
ic_launcher.png 6KB
folder
drawable-xhdpi 文件夹
file
ic_launcher.png 9KB
folder
drawable-xxhdpi 文件夹
file
ic_launcher.png 17KB
folder
drawable-mdpi 文件夹
file
ic_launcher.png 3KB
folder
dexedLibs 文件夹
file
android-support-v4-879c56bafb73c1b456c76ba7b676c6d8.jar 236KB
folder
classes 文件夹
folder
com 文件夹
folder
example 文件夹
folder
animation_1 文件夹
file
MainActivity.class 4KB
file
BuildConfig.class 355B
file
MainActivity$1.class 1KB
file
R$layout.class 418B
file
R$id.class 463B
file
R$drawable.class 626B
file
R$dimen.class 476B
file
R$attr.class 355B
file
R$menu.class 403B
file
R.class 723B
file
R$string.class 487B
file
R$style.class 446B
file
resources.ap_ 132KB
file
Animation_1.apk 374KB
file
AndroidManifest.xml 888B
folder
res 文件夹
folder
drawable-ldpi 文件夹
folder
values-v11 文件夹
file
styles.xml 334B
folder
menu 文件夹
file
main.xml 263B
folder
values-v14 文件夹
file
styles.xml 391B
folder
drawable-hdpi 文件夹
file
fengjing_4.jpg 12KB
file
fengjing_3.jpg 11KB
file
ic_launcher.png 7KB
file
fengjing_2.jpg 15KB
file
fengjing_6.jpg 12KB
file
fengjing_5.jpg 23KB
file
fengjing_1.jpg 20KB
folder
drawable-xhdpi 文件夹
file
ic_launcher.png 12KB
folder
drawable-xxhdpi 文件夹
file
ic_launcher.png 24KB
folder
values 文件夹
file
strings.xml 228B
file
styles.xml 697B
file
dimens.xml 220B
folder
values-sw720dp-land 文件夹
file
dimens.xml 277B
folder
drawable-mdpi 文件夹
file
ic_launcher.png 4KB
folder
values-sw600dp 文件夹
file
dimens.xml 203B
folder
layout 文件夹
file
activity_main.xml 641B
file
proguard-project.txt 781B
file
ic_launcher-web.png 50KB
folder
assets 文件夹
folder
gen 文件夹
folder
com 文件夹
folder
example 文件夹
folder
animation_1 文件夹
file
BuildConfig.java 165B
file
R.java 3KB
folder
.settings 文件夹
file
org.eclipse.jdt.core.prefs 177B
folder
src 文件夹
folder
com 文件夹
folder
example 文件夹
folder
animation_1 文件夹
file
MainActivity.java 2KB
file
.project 847B
file
.classpath 475B
file
project.properties 563B
file
AndroidManifest.xml 888B
folder
libs 文件夹
file
android-support-v4.jar 633KB
...
rar 文件大小:1.68MB