Vị trí File XML:
res/anim/filename.xml
Resource reference (tên gọi):
In Java: R.anim.filename
In XML: @[package:]anim/filename
Thuộc tính chung:
- android:fillAfter=”true” – Giữ trạng thái sau khi chạy (trong <set>)
- android:fillBefore=”true” – Giữ trạng thái trước khi chạy
- android:duration – Thời gian chạy
- android:startOffset – Thời gian chờ trước khi chạy
- android:repeatMode – Chế độ lặp
- android:repeatCount – Lần lặp
- infinite – lặp vô hạn
- android:interpolator – (nội suy) kiểu chạy
- @android:anim/accelerate_decelerate_interpolator – Tăng tốc, giảm tốc
- @android:anim/accelerate_interpolator – Tăng tốc
- @android:anim/anticipate_interpolator – (Biết trước) quay lên vị trí đầu, chạy tiếp
- @android:anim/anticipate_overshoot_interpolator – (Biết trước_Vượt qua) quay lên vị trí đầu, vượt qua vị trí cuối
- @android:anim/bounce_interpolator – (nẩy lên) nẩy lên ở vị trí cuối
- @android:anim/cycle_interpolator – (Vòng tròn) chạy qua lại đầu, cuối
- @android:anim/decelerate_interpolator – (Giảm tốc) Chậm dần
- @android:anim/linear_interpolator – (Thẳng) đều đều
- @android:anim/overshoot_interpolator – (Vượt qua) vượt qua vị trí cuối
- @android:anim/fade_in
- @android:anim/fade_out
- @android:anim/slide_in_left – Chạy từ trái qua
- @android:anim/slide_out_right – Chạy từ phải rồi mất
Alpha Animation (Độ trong suốt):
<alpha android:duration="3000" android:fromAlpha="0" android:toAlpha="1" />
Rotate Animation (Độ xoay):
<rotate android:duration="3000" android:fromDegrees="0" android:pivotX="50%" android:pivotY="50%" android:toDegrees="360" /> </div>
Scale Animation (Độ co dãn):
<scale android:duration="3000" android:fromXScale="1" android:fromYScale="1" android:pivotX="50%" android:pivotY="50%" android:toXScale="2" android:toYScale="2" />
Translate Animation (Độ đi chuyển):
</div> <translate android:duration="3000" android:fromXDelta="-50%" android:fromYDelta="-50%" android:toXDelta="0%" android:toYDelta="0%" />
Set/Batch Animation (nhiều hiệu ứng):
<set xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@android:anim/slide_out_right"> <alpha android:duration="3000" android:fromAlpha="0" android:toAlpha="1" /> <rotate android:duration="3000" android:fromDegrees="0" android:pivotX="50%" android:pivotY="50%" android:toDegrees="360" /> <scale android:duration="3000" android:fromXScale="1" android:fromYScale="1" android:pivotX="50%" android:pivotY="50%" android:toXScale="2" android:toYScale="2" /> <translate android:duration="3000" android:fromXDelta="-50%" android:fromYDelta="-50%" android:toXDelta="0%" android:toYDelta="0%" /> </set>
Gọi trong Code:
// Load hiệu ứng
final Animation amin = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.fade_out);
// Sự kiệnamin.setAnimationListener(new Animation.AnimationListener() { @Override public void onAnimationStart(Animation animation) { } @Override public void onAnimationEnd(Animation animation) { } @Override public void onAnimationRepeat(Animation animation) { } });
// Chạy hiệu ứng
txtMessage.startAnimation(amin);
Trích:
http://www.androidhive.info/2013/06/android-working-with-xml-animations/
http://developer.android.com/guide/topics/resources/animation-resource.html