누군가가 Android 애니메이션에 대해 알고 있습니까? 다음과 같은 것을 만들고 싶습니다.Android에서 애니메이션 이동/크기 조정을 만드는 방법은 무엇입니까?
- 내 장치 화면 중앙에 큰 이미지가 있습니다.
- 이 이미지는 작아 져 (애니메이션으로) 내 장치 화면의 구석으로갑니다.
그 무엇인가 : 어떤 힌트 매우 감사하겠습니다
! 미리 감사드립니다!
누군가가 Android 애니메이션에 대해 알고 있습니까? 다음과 같은 것을 만들고 싶습니다.Android에서 애니메이션 이동/크기 조정을 만드는 방법은 무엇입니까?
그 무엇인가 : 어떤 힌트 매우 감사하겠습니다
! 미리 감사드립니다!
scaleXBy()
및 translateYBy()
과 같은 방법으로 ViewPropertyAnimator
을 사용하십시오. API 레벨 11 이상에서 에 animate()
으로 전화하여 ViewPropertyAnimator
을받습니다. 구형 장치를 지원하는 경우 NineOldAndroids은 작업 현장에 가까운 백 포트를 제공합니다.
또한 읽을 할 수 있습니다
나는 동시 회전과 움직임 클래스가 있습니다. 값 비싸지 만 모든 API 버전에서 작동합니다.
public class ResizeMoveAnimation extends Animation {
View view;
int fromLeft;
int fromTop;
int fromRight;
int fromBottom;
int toLeft;
int toTop;
int toRight;
int toBottom;
public ResizeMoveAnimation(View v, int toLeft, int toTop, int toRight, int toBottom) {
this.view = v;
this.toLeft = toLeft;
this.toTop = toTop;
this.toRight = toRight;
this.toBottom = toBottom;
fromLeft = v.getLeft();
fromTop = v.getTop();
fromRight = v.getRight();
fromBottom = v.getBottom();
setDuration(500);
}
@Override
protected void applyTransformation(float interpolatedTime, Transformation t) {
float left = fromLeft + (toLeft - fromLeft) * interpolatedTime;
float top = fromTop + (toTop - fromTop) * interpolatedTime;
float right = fromRight + (toRight - fromRight) * interpolatedTime;
float bottom = fromBottom + (toBottom - fromBottom) * interpolatedTime;
RelativeLayout.LayoutParams p = (LayoutParams) view.getLayoutParams();
p.leftMargin = (int) left;
p.topMargin = (int) top;
p.width = (int) ((right - left) + 1);
p.height = (int) ((bottom - top) + 1);
view.requestLayout();
}
}
yip ... 잘 작동합니다. – Houston
훌륭하게 작동합니다! 감사! – instanceof
언급 한대로이 크기 조정 애니메이션을 뷰와 함께 어떻게 호출할까요? – shobhan
감사합니다. CommonsWare. 확실하게, 이것은 큰 도움이된다! – mthama