안 드 로 이 드 개발 18: 애니메이션 뷰 애니메이션
주로 구현 가능: Scale 신축, Rotate 회전, Translate 이동, 알파 투명도 변화.
먼저 xml 의 일부 속성 표를 보고 아래 에 모두 사용 해 야 합 니 다. 이 표 는 매우 중요 합 니 다.
속성 [종류]
기능.
비고
Duration[long]
애니메이션 지속 시간
시간 은 밀리초 단위 이다
fillAfter [boolean]
true 로 설정 하면 이 애니메이션 은 애니메이션 이 끝 난 후에 사 용 됩 니 다.
fillBefore[boolean]
true 로 설정 하면 이 애니메이션 은 애니메이션 이 시작 되 기 전에 사 용 됩 니 다.
interpolator
애니메이션 삽입 기 지정
흔히 볼 수 있 는 삽입 기 acceleratedecelerate_interpolator 가속 - 감속 애니메이션 삽입 기 accelerateinterpolator 가속 - 애니메이션 삽입 기 decelerateinterpolator 감속 - 애니메이션 삽입 기 다른 특정한 애니메이션 효과
repeatCount[int]
애니메이션 반복 횟수
RepeatMode[int]
중 복 된 행동 정의
1: 다시 시작 2:plays backward
startOffset[long]
애니메이션 간 의 시간 간격, 지난번 애니메이션 이 얼마나 멈 췄 는 지 부터 다음 애니메이션 을 실행 합 니 다.
zAdjustment[int]
애니메이션 의 Z Order 변경 을 정의 합 니 다.
0: Z Order 변 하지 않 음 1: 최상 위 유지 - 1: 최 하층 유지
둘째 아들
XML 노드
기능 설명
alpha
그 라 데 이 션 투명도 애니메이션 효과
fromAlpha
애니메이션 시작 시 투명도 속성
0.0 완전 투명 1.0 은 완전 불투명 이상 값 에서 0.0 - 1.0 사이 의 float 데이터 형식의 디지털 duration 을 애니메이션 지속 시간, ms 단위 로 표시 합 니 다.
toAlpha
속성 은 애니메이션 종료 시 투명도
표 삼
scale
그 라 데 이 션 사이즈 신축 애니메이션 효과
fromXScale[float] fromYScale[float]
애니메이션 시작 시 X, Y 좌표 의 신축 크기
0.0 은 1.0 이 없 을 때 까지 수축 하 는 것 을 나타 내 고 정상 적 인 무 신축 치가 1.0 보다 적 으 면 수축 치가 1.0 보다 크 면 확대 하 는 것 을 나타 낸다.
toXScale [float] toYScale[float]
애니메이션 이 끝 날 때 X, Y 좌표 의 신축 크기
pivotX[float] pivotY[float]
애니메이션 을 위 한 X, Y 좌표 의 시작 위치
속성 값 설명: 0% - 100% 에서 값 을 추출 하고 50% 는 물건 의 X 또는 Y 방향 좌표 의 중점 위치 입 니 다.
시계
translate
화면 변환 위치 이동 애니메이션 효과
fromXDelta toXDelta
애니메이션, 종료 시작 시 X 좌표 의 위치
fromYDelta toYDelta
애니메이션, 끝 날 때 Y 좌표 의 위치
표 5
rotate
화면 이동 회전 애니메이션 효과
fromDegrees
애니메이션 시작 시 개체 의 각도
각 도 는 음수 임 을 나타 낸다. 시계 반대 방향 회전 각 도 는 양수 임 을 나타 낸다. 시계 반대 방향 회전 (음수 from - to 양수: 시계 반대 방향 회전) (음수 from - to 음수: 시계 반대 방향 회전) (양수 from - to 양수: 시계 반대 방향 회전) (양수 from - to 음수: 시계 반대 방향 회전) (양수 from - to 음수: 시계 반대 방향 회전)
toDegrees
속성 은 애니메이션 이 끝 날 때 물건 이 회전 하 는 각도 가 360 도 이상 일 수 있 습 니 다.
pivotX pivotY
물건 에 대한 애니메이션 의 X, Y 좌표 의 시작 위치
설명: 상기 두 속성 치 는 0% - 100% 에서 50% 를 물건 의 X 또는 Y 방향 좌표 의 중점 위치 로 추출 합 니 다.
추악 한 애니메이션 효과 예:
activity 만 들 기main. xml, 주로 그림 입 니 다:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<!-- -->
<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginLeft="70dp"
android:layout_marginTop="138dp"
android:src="@drawable/jhs_button1_h" />
</RelativeLayout>
MainActivity. java 코드:
package com.example.test.com;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.Window;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.ImageView;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_main);
ImageView imageView = (ImageView) findViewById(R.id.imageView1);
// Animation
final Animation animation = AnimationUtils.loadAnimation(this, R.anim.test_jump);
// ,
imageView.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
v.startAnimation(animation);
}
});
}
}
res / anim / testjmp. xml 에서 애니메이션 효 과 를 만 드 는 구체 적 인 설정:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false" >
<!-- -->
<!-- , -->
<set android:shareInterpolator="false" >
<!-- scale -->
<scale
android:duration="700"
android:fillAfter="false"
android:fromXScale="1.0"
android:fromYScale="1.0"
android:interpolator="@android:anim/accelerate_decelerate_interpolator"
android:pivotX="0%"
android:pivotY="0%"
android:toXScale="1.4"
android:toYScale="0.6" />
<!-- translate -->
<translate
android:duration="700"
android:fromXDelta="0"
android:fromYDelta="0"
android:toXDelta="20"
android:toYDelta="0" />
<!-- -->
<alpha
android:duration="700"
android:fromAlpha="1.0"
android:toAlpha="0.5" />
<!-- , 700 , set -->
<set android:interpolator="@android:anim/decelerate_interpolator" >
<!-- -->
<rotate
android:duration="400"
android:fromDegrees="0"
android:toDegrees="120"
android:pivotX="50%"
android:pivotY="50%"/>
</set>
</set>
</set>
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.