커브 동작 PathInterpolator/path

1897 단어 androiddesign
Material Design의 애니메이션은 곡선을 사용하여 시간 내 삽입 및 공간 이동 모드를 제공합니다.Android 5.0(API 레벨 21) 이상 버전에서는 애니메이션에 대한 사용자 정의 타임 커브 및 커브 동작 모드를 정의할 수 있습니다.
PathInterpolator 카테고리는 베지어 커브 또는 Path 객체를 기반으로 한 새 삽입기입니다.이 삽입기는 1x1의 정사각형 안에 운동 곡선을 지정하고 포지셔닝 포인트는 (0,0) 및 (1,1)에 있으며 제어점은 구조 함수 파라미터를 사용하여 지정한다.또한 경로 삽입기를 XML 에셋으로 정의할 수도 있습니다.


Material Design 사양의 세 가지 기본 커브에 대한 XML 에셋이 제공됩니다.
@interpolator/fast_out_linear_in.xml
@interpolator/fast_out_slow_in.xml
@interpolator/linear_out_slow_in.xml
PathInterpolator 객체를 Animator에게 전달할 수 있습니다.setInterpolator() 방법입니다.
ObjectAnimator 범주에는 한 번에 두 개 이상의 속성을 사용하여 경로에 좌표에 애니메이션을 추가할 수 있는 새 구조 함수가 있습니다.예를 들어, 다음 애니메이션에서는 Path 객체를 사용하여 뷰의 X 및 Y 속성에 애니메이션을 추가합니다.
ObjectAnimator mAnimator;
mAnimator = ObjectAnimator.ofFloat(view, View.X, View.Y, path);
...
mAnimator.start();

인스턴스 A 커브 슬라이드:
 Path path = new Path();
        path.moveTo(100, 100);
        path.quadTo(1000, 300, 300, 700);
        ObjectAnimator animator = ObjectAnimator.ofFloat(circleImageView, View.X, View.Y, path);
        animator.setDuration(3000);
        animator.start();

인스턴스 B, 변환
Path path = new Path();
        path.cubicTo(0.2f, 0f, 0.1f, 1f, 0.5f, 1f);
        path.lineTo(1f, 1f);
        ObjectAnimator animator = ObjectAnimator.ofFloat(view, View.TRANSLATION_X, 500);
        animator.setInterpolator(PathInterpolatorCompat.create(path));
        animator.start();

안드로이드 홈페이지 관련 주소:https://developer.android.com/training/material/animations.html#CurvedMotion실행 효과, gitHub에서 데모를 다운로드할 수 있습니다.https://github.com/xianjuren/AndroidMaterialDesignAnimation

좋은 웹페이지 즐겨찾기