Tôi tạo một số CustomView
kéo dài View
. Tạo một số CustomView
và sử dụng hoạt ảnh để di chuyển và xoay chúng. Sau khi thay đổi backgroundResource
và lỗi xảy ra, nền mới không điền tất cả CustomView
. Xin vui lòng xem mã:Lỗi đặtChế độ xem sau khi hoạt ảnh
clearAnimation();
AnimationSet animation = new AnimationSet(true);
TranslateAnimation translateAnimation = new TranslateAnimation(0, destX - srcX, 0, destY - srcY);
translateAnimation.setInterpolator(new LinearInterpolator());
translateAnimation.setDuration((long) MGConstant.ANIMATE_DURATION);
animation.addAnimation(translateAnimation);
final float finalX = destX;
final float finalY = destY;
animation.setAnimationListener(new AnimationListener() {
public void onAnimationEnd(Animation arg0) {
clearAnimation();
setX(finalX);
setY(finalY);
RotateAnimation rotateAnimation = new RotateAnimation(0, degrees, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);
rotateAnimation.setInterpolator(new LinearInterpolator());
rotateAnimation.setDuration((long) MGConstant.ANIMATE_DURATION);
rotateAnimation.setFillAfter(true);
startAnimation(rotateAnimation);
resetLayout();
mMoveStatus = false;
degree = degrees;
}
public void onAnimationRepeat(Animation arg0) {
}
public void onAnimationStart(Animation arg0) {
}
});
startAnimation(animation);
và resetLauyout:
lp = (LayoutParams) getLayoutParams();
if (lp == null) {
Log.d(TAG, "FIRST");
lp = new LayoutParams((int) cardW, (int) cardH);
lp.leftMargin = (int) mX;
lp.topMargin = (int) mY;
} else {
Log.d(TAG, "LAST");
lp.leftMargin = (int) mX;
lp.topMargin = (int) mY;
}
setLayoutParams(lp);
Xin hãy giúp tôi
Lỗi? Logcat ở đâu? – Egor
Dòng "backgroundResource" ở đâu? thêm lỗi logcat, xin – Sulfkain