- Animation animation = AnimationUtils.loadAnimation(this, R.anim.location_pop_anim);
- tvIcon.startAnimation(animation);
2.从上到下
- <set xmlns:android="http://schemas.android.com/apk/res/android">
- <translate
- android:fromYDelta="-480"
- android:toYDelta="0"
- android:duration="1000"/>
- </set>
从左到右
- <set xmlns:android="http://schemas.android.com/apk/res/android">
- <translate
- android:fromXDelta="0"
- android:toXDelta="320"
- android:duration="3000"/>
- </set>
单位为“%”表示相对于自己旋转
没有单位表示相对父类旋转
注意:如果一边位移translate,一边旋转rotate
在旋转的时候会按一个圆形不断减小的圆旋转。因为translate的时候,y不断的变化,rotate会根据这个y值不断变化而变化!
如果希望执行完一个后再执行另外一个效果,假设第一个效果执行时间是
- android:duration="1000"
在下一个效果中设置下面的代码,那么这个效果就可以在上一个效果执行完后再执行
- android:startOffset="1000"
希望设置某个效果重复执行的话
- android:repeatMode="restart"
- android:repeatCount="10"
注:Delta也可以用%p為單位
例子:
android:fromXDelta="0" android:toXDelta="-100%p" 往左邊消失
android:fromXDelta="-100%p" android:toXDelta="0" 從左邊進
android:fromXDelta="0" android:toXDelta="100%p" 往右邊消失
android:fromXDelta="100%p" android:toXDelta="0" 從右邊進
二、Rotate 定義視圖旋轉角度
視圖的中心位置旋轉360度,時間1 秒完成
<set xmlns:android="http://schemas.android.com/apk/res/android">
<rotate
android:fromDegrees="0"
android:toDegrees="+360"
android:pivotX="50%"
android:pivotY="50%"
android:duration="1000"/>
</set>
三、Scale 定義視圖縮放動畫
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_interpolator">
<scale android:fromXScale="0.0" android:toXScale="1.0"
android:fromYScale="0.0" android:toYScale="1.0"
android:pivotX="50%p" android:pivotY="50%p"
android:duration="300"/>
</set>
//上面的效果為從中間爆出來的效果,可用于Activity的過度效果
釋:Scale定義如何沿著x軸方向(或y軸方向)改變視圖的大小,視圖大小發生變化時樞軸(pivot)位置是保持不變的 pivotX/pivotY為x/y軸的百分比
四、Alpha 定義視圖的透明痛
<set xmlns:android="http://schemas.android.com/apk/res/android">
<alpha
android:fromAlpha="0.1"
android:toAlpha="1.0"
android:duration="3000"/>
</set>
注:透明度變化范圍從0.0(透明)到1.0(不透明)