Android 에서 Vectors(2)를 사용 하여 아름 다운 경로 애니메이션 그리 기

인터넷 기술 이 발전 함 에 따라 Android 의 Vector 이미지 의 시대 가 도래 했 습 니 다.Google 의 최신 지원 라 이브 러 리 v23.2 에서 AppCompat 류 는 Vector 이미 지 를 사용 하여 AAR 가방 을 9%,약 70KB 감소 시 켰 고 모든 높 은 버 전의 응용 프로그램 에 혜택 을 주 었 습 니 다.물론 Vector,다이어트 응용 도 사용 할 수 있 습 니 다.Vector 이미 지 는 SVG 형식 이 Android 에서 의 표현 형식 입 니 다.SVG 이미지 적응 화면,그림 이 작고 장점 도 많 으 니 참고 하 세 요.
Vectors 에 대한 분석 은 주로 두 절 로 나 뉜 다.
(1)SVG 이미지 다이어트 애플 리 케 이 션 사용,참고.
(2)아름 다운 경로 애니메이션 을 그립 니 다.참고 하 십시오.
본 고 는 2 절 입 니 다.Vector 애니메이션 에 관 한 것 입 니 다.
Android
SDK Manager 알림 지원 라 이브 러 리 업데이트
Support
Vector 애니메이션 을 사용 하 는 데 는 주로 세 가지 부분 이 있 습 니 다.Vector 이미지,경로 애니메이션,Animated-Vector 이미지 입 니 다.
본문 원본 의Github 다운로드 주소.
애니메이션
Animation
1.벡터 이미지
SVG 형식의 그림 은 Vector 이미지 자원 으로 변환 되 며,AS 2.0 변환 도 구 를 사용 할 수 있 으 며,온라인 변환 도구 일 수도 있 습 니 다.참고 하 십시오.그림 은 경로(path)스타일 이 필요 합 니 다.예 를 들 어 그리 기 편 합 니 다.

<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="256dp"
android:height="256dp"
android:viewportHeight="70"
android:viewportWidth="70">
<path
android:name="heart1"
android:pathData="..."
android:strokeColor="#E91E63"
android:strokeWidth="1"/>
<path
android:name="heart2"
android:pathData="..."
android:strokeColor="#E91E63"
android:strokeWidth="1"/>
</vector>
2.경로 애니메이션
속성 애니메이션 을 사용 하여 그리 기 상 태 를 제어 합 니 다.

<?xml version="1.0" encoding="utf-8"?>
<objectAnimator
xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="6000"
android:propertyName="trimPathEnd"
android:valueFrom="0"
android:valueTo="1"
android:valueType="floatType"/>
ObjectAnimator 의 trimPathEnd 속성 은 path 의 수량 을 결정 하고 나머지 부분 은 그리 지 않 습 니 다.수치 구간 은 0 에서 1 입 니 다.duration 속성 은 지속 시간 을 표시 합 니 다.6000 즉 6 초 입 니 다.
3.애니메이션 벡터 이미지
벡터 이미지 의 경로(path)를 경로 애니메이션(objectAnimator)에 적용 하여 그리 기 를 제어 합 니 다.

<animated-vector
xmlns:android="http://schemas.android.com/apk/res/android"
android:drawable="@drawable/v_heard">
<target
android:name="heart1"
android:animation="@animator/heart_animator"/>
<target
android:name="heart2"
android:animation="@animator/heart_animator"/>
...
</animated-vector>
4.애니메이션 보이 기
Android 5.0(21)이상 버 전이 있어 야 Vector 애니메이션,즉 AnimatedVectorDrawable 클래스 를 사용 할 수 있 습 니 다.

//    5.0  .
private void animateImage() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
//       
AnimatedVectorDrawable mAnimatedVectorDrawable = (AnimatedVectorDrawable)
ContextCompat.getDrawable(getApplication(), R.drawable.v_heard_animation);
mIvImageView.setImageDrawable(mAnimatedVectorDrawable);
if (mAnimatedVectorDrawable != null) {
mAnimatedVectorDrawable.start();
}
}
}
AnimatedVectorDrawable 의 start 방법 은 애니메이션 시작 기능 입 니 다.
gif 애니메이션 보다 Vector 애니메이션 을 사용 하면 응용 자원 을 절약 하여 사용자 에 게 더 좋 은 체험 을 할 수 있 습 니 다.재 미 있 는 SVG 라 이브 러 리 를 추천 합 니 다.
위 에서 말 한 것 은 소 편 이 소개 한 안 드 로 이 드 에서 Vectors(2)를 사용 하여 아름 다운 경로 애니메이션 을 그 리 는 것 입 니 다.여러분 에 게 도움 이 되 기 를 바 랍 니 다!

좋은 웹페이지 즐겨찾기