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



댓글 없음:

댓글 쓰기

javascript - SQL 예약어 제거

  <script language="javascript"> //특수문자, 특정문자열(sql예약어) 제거 function checkSearchedWord(obj){ obj.value = obj.value+&quo...