2018년 1월 5일 금요일
Android - animation
[안드로이드 애니메이션 효과]
애니메이션 효과 프로그래밍 기초--AnimationAndroid
애니메이션 스타일
Android의 animation by 네 종류의 구성
XML 중
alpha : 그라디언트 투명도 애니메이션 효과
scale : 그라디언트 사이즈 신축 애니메이션 효과
translate : 화면 전환 애니메이션 효과 자리 이동
rotate : 화면 회전 애니메이션 효과 이동
JavaCode중
AlphaAnimation : 그라디언트 투명도 애니메이션 효과
ScaleAnimation : 그라디언트 사이즈 신축 애니메이션 효과
TranslateAnimation : 화면 전환 애니메이션 효과 자리 이동
RotateAnimation : 화면 회전 애니메이션 효과 이동
Android 애니메이션 모드
Animation두 가지 주요 애니메이션 모드:
한 가지가 tweened (그라디언트 애니메이션 animation)
XML중
JavaCode
alpha : AlphaAnimation
scale : ScaleAnimation
한 가지가 frame by frame (화면 전환 애니메이션)
XML중
JavaCode
translate : TranslateAnimation
rotate : RotateAnimation
어떻게 XML 파일 중 정의 애니메이션
① 열기 Eclipse, 새 Android 공사
② 지금 res 디렉터리에 새 anim 폴더
③ 지금 anim 디렉터리에 새 한 myanim.xml (파일 이름 소문자 주의)
④ 가입 XML 애니메이션 코드
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<alpha/>
<scale/>
<translate/>
<rotate/>
</set>
Android 애니메이션 해석--XML
<alpha>
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >
<alpha
android:fromAlpha="0.1"
android:toAlpha="1.0"
android:duration="3000"
/>
9 <!-- 투명도 제어 애니메이션 효과 알파
10 부동 소수점 형식 값:
11 fromAlpha 속성 애니메이션 시작 때 투명도 위해
12 toAlpha 속성 을 애니메이션 끝날 때 투명도
13 설명:
14 0.0 대해 완전히 투명
15 1.0 대해 완전히 불투명
16 이상 값 찾다 0.0-1.0 사이의 float 데이터 형식 숫자
17
18 긴 정수 값:
19 duration 속성 을 애니메이션 지속 시간
20 설명:
21 시간 은 밀리초 단위로
22 -->
23 </set>
<scale>
1 <?xml version="1.0" encoding="utf-8"?>
2 <set xmlns:android="http://schemas.android.com/apk/res/android">
3 <scale
4 android:interpolator=
5 "@android:anim/accelerate_decelerate_interpolator"
6 android:fromXScale="0.0"
7 android:toXScale="1.4"
8 android:fromYScale="0.0"
9 android:toYScale="1.4"
10 android:pivotX="50%"
11 android:pivotY="50%"
12 android:fillAfter="false"
13 android:startOffset="700"
14 android:duration="700" />
15 </set>
16 <!-- 사이즈 신축 애니메이션 효과 scale
17 속성: interpolator 지정하지 애니메이션 삽입 그릇
18 내가 실험 과정에서 사용 android.res.anim 중 자원 때 발견
19 세 가지 애니메이션 삽입 그릇:
20 accelerate_decelerate_interpolator 가속 - 감속 애니메이션 삽입 그릇
21 accelerate_interpolator 가속 - 애니메이션 삽입 그릇
22 decelerate_interpolator 감속 - 애니메이션 삽입 그릇
23 다른 은 특정한 애니메이션 효과
24 부동 소수점 형식 값:
25
26 fromXScale 속성 애니메이션 시작 때 X 좌표 위의 신축 사이즈 위해
27 toXScale 속성 을 애니메이션 끝날 때 X 좌표 위의 신축 사이즈
28
29 fromYScale 속성 애니메이션 시작 때 Y 좌표 위의 신축 사이즈 위해
30 toYScale 속성 을 애니메이션 끝날 때 Y 좌표 위의 신축 사이즈
31 startOffset 속성 을 지난번부터 애니메이션 계속 몇 시간 시작한 다음 애니메이션 실행
32
33 설명:
34 이상 네 가지 속성 값
35
36 0.0 표시 수축 없다
37 1.0 것은 정상적인 신축 없다.
38 값 < 1.0 표시 수축
39 가치가 크다 1.0 표시 확대
40
41 pivotX 속성 을 애니메이션 건가요, 물건 X 좌표 시작 위치
42 pivotY 속성 을 애니메이션 건가요, 물건의 Y 좌표 시작 위치
43
44 설명:
45 두 개 이상의 속성 값 이 0%-100% 중 순위
46 50% 물건 X 또는 Y축 좌표 에서 중점 위치 위해
47
48 긴 정수 값:
49 duration 속성 을 애니메이션 지속 시간
50 설명: 시간을 밀리초 단위로 위해
51
52 불 형 값:
53 fillAfter 속성 이 설정을 위해 true 이 애니메이션 전환 애니메이션 끝나면 여기서 다른 응용
54 -->
<translate>
1 <?xml version="1.0" encoding="utf-8"?>
2 <set xmlns:android="http://schemas.android.com/apk/res/android">
3 <translate
4 android:fromXDelta="30"
5 android:toXDelta="-80"
6 android:fromYDelta="30"
7 android:toYDelta="300"
8 android:duration="2000"
9 />
10 <!-- translate 위치 전송 애니메이션 효과
11 정수 값:
12 fromXDelta 속성 애니메이션 시작 때 X 좌표 위의 위치 위해
13 toXDelta 속성 을 애니메이션 끝날 때 X 좌표 위의 위치
14 fromYDelta 속성 애니메이션 시작 때 Y 좌표 위의 위치 위해
15 toYDelta 속성 을 애니메이션 끝날 때 Y 좌표 위의 위치
16 주의:
17 지정되지 fromXType toXType fromYType toYType 때,
18 기본 은 자신을 위해 상대 참조 물건
19 긴 정수 값:
20 duration 속성 을 애니메이션 지속 시간
21 설명: 시간을 밀리초 단위로 위해
22 -->
23 </set>
<rotate>
1 <?xml version="1.0" encoding="utf-8"?>
2 <set xmlns:android="http://schemas.android.com/apk/res/android">
3 <rotate
4 android:interpolator="@android:anim/accelerate_decelerate_interpolator"
5 android:fromDegrees="0"
6 android:toDegrees="+350"
7 android:pivotX="50%"
8 android:pivotY="50%"
9 android:duration="3000" />
10 <!-- rotate 회전 애니메이션 효과
11 속성: interpolator 지정하지 애니메이션 삽입 그릇
12 내가 실험 과정에서 사용 android.res.anim 중 자원 때 발견
13 세 가지 애니메이션 삽입 그릇:
14 accelerate_decelerate_interpolator 가속 - 감속 애니메이션 삽입 그릇
15 accelerate_interpolator 가속 - 애니메이션 삽입 그릇
16 decelerate_interpolator 감속 - 애니메이션 삽입 그릇
17 다른 은 특정한 애니메이션 효과
18
19 부동 소수점 숫자 형식 값:
20 fromDegrees 속성 애니메이션 시작 때 개체 각도에서 위해
21 toDegrees 속성 을 애니메이션 끝날 때 개체 회전 각도를 크다 360 도 할 수 있다
22
23 설명:
24 이 각도에서 위해 음수 — — 기 반시계 방향으로 회전
25 이 각도에서 위해 플러스 — — 표시 시계 방향으로 회전
26 (부 from— — to 플러스: 시계 방향으로 회전)
27 (부 from— — to 음수: 반시계방향으로)
28 (양수 from— — to 플러스: 시계 방향으로 회전)
29 (양수 from— — to 음수: 반시계방향으로)
30
31 pivotX 속성 을 애니메이션 건가요, 물건 X 좌표 시작 위치
32 pivotY 속성 을 애니메이션 건가요, 물건의 Y 좌표 시작 위치
33
34 설명: 이상 두 속성 값 이 0%-100% 중 순위
35 50% 물건 X 또는 Y축 좌표 에서 중점 위치 위해
36
37 긴 정수 값:
38 duration 속성 을 애니메이션 지속 시간
39 설명: 시간을 밀리초 단위로 위해
40 -->
41 </set>
XML 중 애니메이션 효과 어떻게 사용
1 public static Animation loadAnimation (Context context, int id)
2 //첫 번째 인자 Context 프로그램 컨텍스트 위해
3 //두 번째 인자 id 위해 애니메이션 XML 파일 참조
4 //예:
5 myAnimation= AnimationUtils.loadAnimation(this,R.anim.my_action);
6 //사용 AnimationUtils 같은 정적 방법 loadAnimation () 와 XML 불러오기 중 애니메이션 XML 파일
어떻게 중에 자바 코드 정의 애니메이션
1 //코드 정의 애니메이션 대상 은 중 인스턴스
2 private Animation myAnimation_Alpha;
3 private Animation myAnimation_Scale;
4 private Animation myAnimation_Translate;
5 private Animation myAnimation_Rotate;
6
7 //각자의 구조 방법에 근거해서 하나의 인스턴스를 대상 초기화할 수 없습니다.
8 myAnimation_Alpha=new AlphaAnimation(0.1f, 1.0f);
9
10 myAnimation_Scale =new ScaleAnimation(0.0f, 1.4f, 0.0f, 1.4f,
11 Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);
12
13 myAnimation_Translate=new TranslateAnimation(30.0f, -80.0f, 30.0f, 300.0f);
14
15 myAnimation_Rotate=new RotateAnimation(0.0f, +350.0f,
16 Animation.RELATIVE_TO_SELF,0.5f,Animation.RELATIVE_TO_SELF, 0.5f);
Android 애니메이션 해석--JavaCode
AlphaAnimation
① AlphaAnimation 클래스 대상 정의
1 private AlphaAnimation myAnimation_Alpha;
② AlphaAnimation 클래스 대상 구조
1 AlphaAnimation(float fromAlpha, float toAlpha)
2 //첫 번째 매개 변수 fromAlpha 위해 애니메이션 시작 때 투명도
3 //두 번째 매개 변수 toAlpha 위해 애니메이션 끝날 때 투명도
4 myAnimation_Alpha=new AlphaAnimation(0.1f, 1.0f);
5 //설명:
6 // 0.0 대해 완전히 투명
7 // 1.0 대해 완전히 불투명
③ 설정 애니메이션 지속 시간
1 myAnimation_Alpha.setDuration(5000);
2 //설정 시간 지속 시간 을 5천 초
ScaleAnimation
① ScaleAnimation 클래스 대상 정의
1 private AlphaAnimation myAnimation_Alpha;
② ScaleAnimation 클래스 대상 구조
1 ScaleAnimation(float fromX, float toX, float fromY, float toY,
2 int pivotXType, float pivotXValue, int pivotYType, float pivotYValue)
3 //첫 번째 매개 변수 fromX 애니메이션 시작 때 X 좌표 위의 신축 사이즈 위해
4 //두 번째 매개 변수 toX 위해 애니메이션 끝날 때 X 좌표 위의 신축 사이즈
5 //세 번째 매개 변수 fromY 애니메이션 시작 때 Y 좌표 위의 신축 사이즈 위해
6 //네 번째 매개 변수 toY 위해 애니메이션 끝날 때 Y 좌표 위의 신축 사이즈
7
8 //다섯 개의 인자를 pivotXType 위해 애니메이션 X 축 건가요, 물건 위치 형식
9 //여섯 개의 인자를 pivotXValue 위해 애니메이션 건가요, 물건 X 좌표 시작 위치
10 //일곱 개의 인자를 pivotXType 위해 애니메이션 지금 Y축 건가요, 물건 위치 형식
11 //여덟 개의 인자를 pivotYValue 위해 애니메이션 건가요, 물건의 Y 좌표 시작 위치
12 myAnimation_Scale =new ScaleAnimation(0.0f, 1.4f, 0.0f, 1.4f,
13 Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);
③ 설정 애니메이션 지속 시간
1 myAnimation_Scale.setDuration(700);
2 //설정 시간 시간 (밀리초 위해 700
TranslateAnimation
① TranslateAnimation 클래스 대상 정의
1 private AlphaAnimation myAnimation_Alpha;
② TranslateAnimation 클래스 대상 구조
1 TranslateAnimation(float fromXDelta, float toXDelta,
2 float fromYDelta, float toYDelta)
3 //첫 번째 매개 변수 fromXDelta 애니메이션 시작 때 X 좌표 위로 이동 위치 위해
4 //두 번째 매개 변수 toXDelta 위해 애니메이션 끝날 때 X 좌표 위로 이동 위치
5 //세 번째 매개 변수 fromYDelta 애니메이션 시작 때 Y 좌표 위로 이동 위치 위해
6 //네 번째 매개 변수 toYDelta 위해 애니메이션 끝날 때 Y 좌표 위로 이동 위치
③ 설정 애니메이션 지속 시간
1 myAnimation_Translate.setDuration(2000);
2 //설정 시간 지속 시간 은 2000년 초
RotateAnimation
① RotateAnimation 클래스 대상 정의
1 private AlphaAnimation myAnimation_Alpha;
② RotateAnimation 클래스 대상 구조
1 RotateAnimation(float fromDegrees, float toDegrees,
2 int pivotXType, float pivotXValue, int pivotYType, float pivotYValue)
3 //첫 번째 매개 변수 fromDegrees 애니메이션 시작 때 회전 각도 위해
4 //두 번째 매개 변수 toDegrees 위해 애니메이션 회전 각도 까지
5 //세 번째 매개 변수 pivotXType 위해 애니메이션 X 축 건가요, 물건 위치 형식
6 //네 번째 매개 변수 pivotXValue 위해 애니메이션 건가요, 물건 X 좌표 시작 위치
7 //다섯 개의 인자를 pivotXType 위해 애니메이션 지금 Y축 건가요, 물건 위치 형식
8 //여섯 개의 인자를 pivotYValue 위해 애니메이션 건가요, 물건의 Y 좌표 시작 위치
9 myAnimation_Rotate=new RotateAnimation(0.0f, +350.0f,
10 Animation.RELATIVE_TO_SELF,0.5f,Animation.RELATIVE_TO_SELF, 0.5f);
③ 설정 애니메이션 지속 시간
1 myAnimation_Rotate.setDuration(3000);
2 //설정 시간 지속 시간 3천 초
자바 코드 중 애니메이션 효과 어떻게 사용
에서 View 부 클래스 상속 온 사용 방법 startAnimation () 와 위해 View 또는 하위 클래스 View, 한 애니메이션 효과 추가
애니메이션 효과 순서
1 android:animationOrder="random" //임의
4 android:animationOrder="reverse"//부정
9 gridLayoutAnimation
12 android:directionPriority="row"
14 android:directionPriority="column"
16 android:direction="right_to_left|bottom_to_top"
출처 : http://www.programkr.com/blog/MYDNzADMwYTy.html
피드 구독하기:
댓글 (Atom)
Flutter #0
[Flutter 교육] Dart vs JavaScript 타입 시스템 비교 1. 기본 타입 차이 숫자 타입 // Dart int integerNumber = 42; // 정수 double floatingPoint = 3.14; // 부...
-
11 SQL Client for Productive Database Administration & Development Working as a web developer or database administrator, often n...
-
JsonUtility 유니티 5.3 이상부터 JsonUtility를 지원한다. 외부 JSON 라이브러리가 필요 없다. < JsonUtility 멤버 함수 > FromJson : JSON을 오브젝트로 변환한다. 오브젝트를 생성...
댓글 없음:
댓글 쓰기