Tween动画有以下这几种:
Animation 动画
AlphaAnimation 渐变透明度
RotateAnimation 画面旋转
ScaleAnimation 渐变尺寸缩放
TranslateAnimation 位置移动
AnimationSet 动画集
今天主要讲讲TranslateAnimation,
主要的属性有
float fromXDelta:这个参数表示动画开始的点离当前View X坐标上的差值;
float toXDelta, 这个参数表示动画结束的点离当前View X坐标上的差值;
float fromYDelta, 这个参数表示动画开始的点离当前View Y坐标上的差值;
float toYDelta)这个参数表示动画开始的点离当前View Y坐标上的差值;
这些大家都知道,但是你们真的了解了TranslateAnimation的x,y为0时刻,表示的位置了吗??
在TranslateAnimation中,对位置的理解,如果你没弄清楚,常常用到相反的效果,自己还振振有词的说
是不是书本有错误了,和你的实践对不上。
其实理解起来也不难,一张图搞定
从图上看出来,x,y为0的状态就是动画对象完全显示在屏幕中的状态(不一定是屏幕中央,取决于你动画对象实际宽高)
Y的100%状态是往屏幕下方移动整个动画效果,Y的-100%是屏幕上方移动整个动画高度,x方向上类似,右侧表示
100%,左侧表示-100%;
接下来,同个一个实例讲解:对一个Popupwindow弹出做弹出动画效果,点击屏幕中button,popupwindow从下往上显示,
然后点击popupwindow中的button,popupwindow从上往下收起。
分为进入动画fadein.xml 从下往上
<?xml version="1.0"encoding="utf-8"?> <setxmlns:android="http://schemas.android.com/apk/res/android" android:shareInterpolator="false"> <translate android:fromYDelta="100%" android:toYDelta="0" android:duration="500"/> </set>
退出动画fadeout.xml 从上往下
<?xml version="1.0"encoding="utf-8"?> <setxmlns:android="http://schemas.android.com/apk/res/android" android:shareInterpolator="false"> <translate android:fromYDelta="0" android:toYDelta="100%" android:duration="500"/> </set>
/PopupWindow/res/values/styles.xml <?xml version="1.0" encoding="utf-8"?> <resources> <style name="animation"> <itemname="android:windowEnterAnimation">@anim/fadein</item> <itemname="android:windowExitAnimation">@anim/fadeout</item> </style> </resources>
这样就实现了popupwindow从底部到完全显示,再从显示到底部消失的动画过程 ,其他效果自己去实践
注:在简单的东西,都是靠自己实践才明白,也不要说这个,那个太简单,看了就懂了,很多东西看过了懂了
过段时间你就不懂了,这就是你学什么都没学精的缘由吧
Tween动画TranslateAnimation细节介绍,布布扣,bubuko.com