Tôi đang cố gắng "chuỗi" hai hoạt ảnh lại với nhau, vì vậy khi hoàn thành, hình ảnh động khác bắt đầu. Điều này đang hoạt động ngoại trừ một vấn đề. Sau khi hoạt ảnh đầu tiên hoàn thành, nó sẽ chuyển về vị trí ban đầu của nó. Tôi đang đặt điền sau khi thành sự thật. Tôi còn thiếu gì nữa?Hoạt ảnh chuỗi Android
Đây là mã tôi đang sử dụng. Lưu ý, đây là một lớp đang mở rộng LinearLayout.
// FIRST ANIMATION
mAnimation = new TranslateAnimation(0, PANEL_END_X, 0, 0);
mAnimation.setDuration(PANEL_TRANSITION_TIME);
mAnimation.setFillAfter(true);
mAnimation.setAnimationListener(new Animation.AnimationListener() {
public void onAnimationEnd(Animation animation) {
// FIRST ANIMATION COMPLETE, CALL THE SECOND ANIMATION
startAnimation(mAlphaAnimation);
}
});
// SECOND ANIMATION
mAlphaAnimation = new AlphaAnimation(1.0f, 0.0f);
mAlphaAnimation.setDuration(PANEL_ALPHA_TRANSITION_TIME);
mAlphaAnimation.setFillAfter(true);
Giải pháp:
Cách duy nhất tôi có thể có được điều này làm việc để sự hài lòng của tôi là sử dụng một AnimationSet
, nhưng thiết lập thời gian bắt đầu bù đắp của phim hoạt hình thứ hai để bắt đầu bù đắp + thời gian của phim hoạt hình đầu tiên, cộng với một chút đệm. Họ không phải hoàn toàn chính xác trong trường hợp của tôi.
Tôi đã thử phát các giá trị khác nhau như CommonsWare được đề xuất, nhưng tôi sẽ luôn nhận được một số loại hiệu ứng "snapping" trong đó các giá trị sẽ hoàn nguyên về giá trị ban đầu trước khi lấy giá trị mới.
liên tiếp AnimationSet.Builder cuối cùng là những gì tôi cần: http://developer.android.com/reference/android/animation/AnimatorSet.Builder.html. – Steve