Android 애니메이션 추가 애니메이션(Tween Animation)기초 학습
앞서 말 했 듯 이 Android 에서 애니메이션 애니메이션 의 실현 은 두 가지 방식 이 있다.Tween Animation(그 라 데 이 션 애니메이션)과 Frame Animation(프레임 애니메이션)이다.그 라 데 이 션 애니메이션 은 장면 의 대상 에 대해 이미지 변환(이동,확대,회전 등)을 계속 하면 애니메이션 효 과 를 나타 낸다.프레임 애니메이션 은 사전에 준 비 된 이미 지 를 순서대로 재생 하여 애니메이션 효 과 를 내 는 것 으로 영화 와 유사 하 다.
편집장 도 여러분 과프레임 애니메이션의 기초 지식 을 공 유 했 습 니 다.다음은 안 드 로 이 드 에서 프레임 애니메이션 의 기초 지식 을 배 워 보 겠 습 니 다.
원리:시작 과 끝 두 개의 관건 적 인 프레임 을 제시 하고 두 개의 관건 적 인 프레임 간 의 삽입 프레임 은 컴퓨터 가 자동 으로 연산 하여 얻 은 것 이다.
분류:
AlphaAnimation(투명도)ScaleAnimation(크기 조정)TranslateAnimation(위치 이동)RotateAnimation (회전)AnimationSet(조합)방법:
1.코드 에서
new2.anim 폴 더 에서 애니메이션 xml 자원 정의효과.
 코드
STEP 1:애니메이션 자원 준비
목차
 
<?xml version="1.0" encoding="utf-8"?>
<alpha xmlns:android="http://schemas.android.com/apk/res/android"
 android:duration="2000"
 android:fromAlpha="1.0"
 android:interpolator="@android:anim/linear_interpolator"
 android:toAlpha="0.3">
</alpha> 
<?xml version="1.0" encoding="utf-8"?>
<rotate xmlns:android="http://schemas.android.com/apk/res/android"
 android:interpolator="@android:interpolator/linear"
 android:repeatCount="infinite"
 android:repeatMode="reverse"
 android:duration="2000"
 android:fromDegrees="0"
 android:toDegrees="1080">
 android:pivotX="50%"
 android:pivotY="50%"
</rotate> 
<?xml version="1.0" encoding="utf-8"?>
<scale xmlns:android="http://schemas.android.com/apk/res/android"
 android:interpolator="@android:anim/linear_interpolator"
 android:duration="2000"
 android:fillAfter="true"
 android:fromXScale="1.0"
 android:fromYScale="1.0"
 android:pivotX="50%"
 android:pivotY="50%"
 android:toXScale="0.3"
 android:toYScale="0.3">
</scale> 
<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
  android:interpolator="@android:anim/linear_interpolator"
  android:duration="2000"
  android:fromXDelta="10"
  android:fromYDelta="10"
  android:toXDelta="300"
  android:toYDelta="300">
</translate> 
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
 android:interpolator="@android:anim/linear_interpolator"
 android:duration="2000">
 <alpha android:fromAlpha="0.3"
  android:toAlpha="1.0"/>
 <rotate android:fromDegrees="0"
  android:toDegrees="360"
  android:pivotX="0"
  android:pivotY="0"
  android:repeatMode="restart"
  android:repeatCount="infinite"/>
</set>STEP 2:activitymain.xml(약)STEP 3:MainActivity.java
package com.lyp.anim;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.Button;
import android.widget.ImageView;
public class MainActivity extends AppCompatActivity implements View.OnClickListener{
 private Button btnScale;
 private Button btnRotate;
 private Button btnTranslate;
 private Button btnAlpha;
 private Button btnAll;
 private ImageView mImage;
 @Override
 protected void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.activity_main);
 initView();
 }
 private void initView() {
 btnScale= (Button) findViewById(R.id.btn_scale);
 btnRotate= (Button) findViewById(R.id.btn_rotate);
 btnTranslate= (Button) findViewById(R.id.btn_translate);
 btnAlpha= (Button) findViewById(R.id.btn_alpha);
 btnAll= (Button) findViewById(R.id.btn_all);
 mImage= (ImageView) findViewById(R.id.image);
 btnScale.setOnClickListener(this);
 btnRotate.setOnClickListener(this);
 btnTranslate.setOnClickListener(this);
 btnAlpha.setOnClickListener(this);
 btnAll.setOnClickListener(this);
 }
 @Override
 public void onClick(View v) {
 switch (v.getId()){
  case R.id.btn_scale:
  //      
  Animation scale = AnimationUtils.loadAnimation(this, R.anim.scale);
  scale.setFillAfter(true); //        , xml       !!
  mImage.startAnimation(scale);
  break;
  case R.id.btn_rotate:
  //      
  Animation rotate = AnimationUtils.loadAnimation(this, R.anim.rotate);
  mImage.startAnimation(rotate);
  break;
  case R.id.btn_translate:
  //      
  Animation translate = AnimationUtils.loadAnimation(this, R.anim.translate);
  mImage.startAnimation(translate);
  break;
  case R.id.btn_alpha:
  //         
  Animation alpha = AnimationUtils.loadAnimation(this, R.anim.alpha);
  mImage.startAnimation(alpha);
  break;
  case R.id.btn_all:
  //      
  Animation all = AnimationUtils.loadAnimation(this, R.anim.all);
  mImage.startAnimation(all);
  break;
 }
 }
}총결산이상 의 Android 에서 보 간 애니메이션(Tween Animation)기반 의 모든 내용 을 보 완 했 습 니 다.애니메이션 애니메이션 이 실현 하 는 두 가지 방식 의 작은 편집 은 현재 모두 공유 되 었 습 니 다.안 드 로 이 드 개발 자 여러분 에 게 도움 이 되 기 를 바 랍 니 다.궁금 한 점 이 있 으 면 댓 글 을 남 겨 주 십시오.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Kotlin의 기초 - 2부지난 글에서는 Kotlin이 무엇인지, Kotlin의 특징, Kotlin에서 변수 및 데이터 유형을 선언하는 방법과 같은 Kotlin의 기본 개념에 대해 배웠습니다. 유형 변환은 데이터 변수의 한 유형을 다른 데이터...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.