Android 세 가지 애니메이션 상세 설명 및 간단 한 인 스 턴 스

Android 세 가지 애니메이션 상세 설명
프레임 애니메이션
한 장의 그림 이 끊임없이 전환 되 어 애니메이션 효 과 를 형성한다.
drawable 디 렉 터 리 에서 xml 파일 을 정의 합 니 다.하위 노드 는 animation-list 입 니 다.표시 할 그림 과 그림 마다 표시 할 시간 을 정의 합 니 다.

<animation-list 
xmlns:android="http://schemas.android.com/apk/res/android" 
   android:oneshot="false">
      <item android:drawable="@drawable/g1" 
         android:duration="200" />
      <item android:drawable="@drawable/g2" 
         android:duration="200" />
      <item android:drawable="@drawable/g3" 、
         android:duration="200" />
    </animation-list>
화면 에 프레임 애니메이션 재생

ImageView iv = (ImageView) findViewById(R.id.iv);
    //        imageView   
    iv.setBackgroundResource(R.drawable.animations);
    AnimationDrawable ad = (AnimationDrawable)
    iv.getBackground();
    //        
    ad.start();
추가 애니메이션
  • 원래 의 형태 가 새로운 형태 로 바 뀌 었 을 때 변형 과정 을 과도 하기 위해 생 성 된 애니메이션 을 보 간 애니메이션,보 간 애니메이션 이 라 고 하 는데 애니메이션 효과 일 뿐 구성 요 소 는 원래 의 위치 에 있 고 xy 는 변 하지 않 았 다
  • .
  • 변위,회전,확대,투명
  • 위치 이동:
  • 매개 변수 10 은 X 의 출발점 좌 표를 말 하지만 스크린 x 좌표 가 10 인 위 치 를 말 하 는 것 이 아니 라 imageview 의 진실 X+10
  • 을 말한다.
  • 매개 변수 150 은 X 의 종점 좌 표를 말 하 는데 그 값 은 imageview 의 진실 X+150 이다.
  • 
    //         ,              
    TranslateAnimation ta = new TranslateAnimation(10, 150, 20, 140);
  • x 좌표 의 출발점 위치 가 자신 에 비해 0.5f 를 전달 하면 출발점 좌 표 는 진실 X+0.5*iv 너비
  • 이다.
  • x 좌표 의 종점 위치 에 2 가 들 어 오 면 종점 좌 표 는 실제 X+2*iv 의 너비
  • 이다.
  • y 좌표 의 출발점 위치 에 0.5f 가 들 어 오 면 출발점 좌 표 는 진실 Y+0.5*iv 높이
  • 이다.
  • y 좌표 의 종점 위치 에 2 가 들 어 오 면 종점 좌 표 는 진실 Y+2*iv 높이
  • 이다.
    
     TranslateAnimation ta = new TranslateAnimation(Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 2, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 2);
    애니메이션 재생 관련 설정
    
        //        
        ta.setDuration(2000);
        //         
        ta.setRepeatCount(1);
        //         
        ta.setRepeatMode(Animation.REVERSE);
        //       ,             
        ta.setFillAfter(true);
        //    
        iv.startAnimation(ta);
    
    크기 조정:
  • 매개 변수 0.1f 는 애니메이션 의 시작 폭 이 실제 너비 의 0.1 배
  • 임 을 나타 낸다.
  • 매개 변수 4 는 애니메이션 의 끝 폭 이 실제 너비 의 4 배
  • 임 을 나타 낸다.
  • 크기 조정 중심 점 은 iv 왼쪽 상단 에 있 습 니 다.
  • 
    ScaleAnimation sa = new ScaleAnimation(0.1f, 4, 0.1f, 4);
  • 매개 변수 0.1f 와 4 의 미 는 위 와 같다
  • 크기 조정 중심 점 변경:들 어 오 는 두 개의 0.5f,유형 은 모두 자신 에 비해 크기 조정 중심 점
  • 을 바 꾸 었 습 니 다.
  • 중심 점 x 좌표=리 얼 X+0.5*iv 너비
  • 중심 점 Y 좌표=진실 Y+0.5*iv 높이
  • 
    ScaleAnimation sa = new ScaleAnimation(0.1f, 4, 0.1f, 4, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);
    투명:
    0 은 완전 투명,1 은 완전 불투명
    
      AlphaAnimation aa = new AlphaAnimation(0, 0.5f);
    
    회전:
  • 20 애니메이션 시작 시의 iv 각 도 를 나타 낸다
  • 360 은 애니메이션 이 끝 날 때 iv 의 각 도 를 나타 낸다
  • 기본적으로 회전 하 는 원심 은 iv 왼쪽 상단 에 있 습 니 다.
  • 
    RotateAnimation ra = new RotateAnimation(20, 360);
  • 20,360 의 의 미 는 위 와 같다
  • 원심 좌 표를 지정 하고 자신 에 비해 값 이 0.5 로 들 어 오 면 원심 의 x 좌표:진실 X+iv 너비*0.5
  • 원심 의 Y 좌표:진실 Y+iv 높이*0.5
  • 
    RotateAnimation ra = new RotateAnimation(20, 360, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);
    모든 애니메이션 이 이륙 합 니 다.
    
     //      
        AnimationSet set = new AnimationSet(false);
        //        
        set.addAnimation(aa);
        set.addAnimation(sa);
        set.addAnimation(ra);
        iv.startAnimation(set);
    
    속성 애니메이션
    위치 이동:
  • 첫 번 째 매개 변수 target 은 애니메이션 을 표시 할 구성 요 소 를 지정 합 니 다
  • 두 번 째 인자 property Name 구성 요소 의 속성 을 변경 할 지 지정 합 니 다
  • 세 번 째 매개 변수 values 는 가 변 매개 변수 이 고 속성 을 부여 하 는 새로운 값
  • 이다.
  • 0 에 들 어가 면 x 시작 좌 표를 대표 합 니 다.현재 x+0
  • 100 에 들 어가 면 x 종점 좌 표를 대표 합 니 다.현재 x+100
  • 
    //  get、set            
    ObjectAnimator oa = ObjectAnimator.ofFloat(bt, "translationX", 0, 100) ;
    
    크기 조정:
  • 세 번 째 매개 변 수 는 크기 조정 비율 을 지정 합 니 다
  • 0.1 은 원래 높이 의 10 분 의 1 에서 시작한다
  • 2 는 원래 높이 의 2 배로 끝난다
  • 
    ObjectAnimator oa = ObjectAnimator.ofFloat(bt, "scaleY", 0.1f, 2);
    투명:
    투명도
    
    ObjectAnimator oa = ObjectAnimator.ofFloat(bt, "alpha", 0.1f, 1);
    빙빙 돌다
  • rotation 지정 은 시계 방향 으로 회전
  • 20 은 시작 각도
  • 270 은 종료 각도
  • 
    ObjectAnimator oa = ObjectAnimator.ofFloat(bt, "rotation", 20, 270);
  • 속성 을 rotationX 로 지정 하면 수직 반전
  • 속성 을 rotationY 로 지정 하면 수평 반전
  • 
    ObjectAnimator oa = ObjectAnimator.ofFloat(bt, "rotationY", 20, 180);
    가 변 매개 변수
    세 번 째 매개 변 수 는 여러 개의 매개 변 수 를 전달 할 수 있 고 변위(회전,확대,투명)를 실현 할 수 있 습 니 다.
    
    ObjectAnimator oa = ObjectAnimator.ofFloat(bt, "translationX", 0, 70, 30, 100) ;
    모든 애니메이션 이 이륙 합 니 다.       
    
         //       
        AnimatorSet set = new AnimatorSet();
        //          
        set.setTarget(bt);
        //            
        //set.playSequentially(oa, oa2, oa3, oa4);
        //        
        set.playTogether(oa, oa2, oa3, oa4);
        set.start();
    
     읽 어 주 셔 서 감사합니다. 여러분 에 게 도움 이 되 기 를 바 랍 니 다.본 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!

    좋은 웹페이지 즐겨찾기