투케이2K

23. (AndroidStudio/android/java) Animation 객체 사용해서 좌우 이동, 중앙 회전(로딩바) 애니메이션 구현 본문

Android

23. (AndroidStudio/android/java) Animation 객체 사용해서 좌우 이동, 중앙 회전(로딩바) 애니메이션 구현

투케이2K 2021. 1. 27. 16:04

/* =========================== */

[ 개발 환경 설정 ]

개발 툴 : AndroidStudio

개발 언어 : java

/* =========================== */

/* =========================== */

[좌우 이동 소스 코드]

// ======== [전역 변수 선언] ======== 
Animation anim;
ImageView anim_imageview;


// ======== [컴포넌트 매칭] ======== 
anim_imageview = (ImageView) findViewById(R.id.anim_imageview);


// ======== [왼쪽에서 오른쪽으로 이동 애니메이션] ========
public void getAnim_LeftStart_RightEnd(){
	try {
		//TODO 에니메이션 설정 파일 지정
		anim = AnimationUtils.loadAnimation(getApplicationContext(),R.anim.left_right_anim);
		anim_imageview.startAnimation(anim);
		//anim_imageview.setAnimation(anim);
	}
	catch (Exception e){
		e.printStackTrace();
	}
}


// ======== [왼쪽에서 오른쪽으로 이동 left_right_anim.xml 파일] ========
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <translate
        android:fromXDelta="0%p"
        android:toXDelta="20%p"
        android:duration="2000"
        android:repeatCount="-1"
        android:fillAfter="true" />
    <!-- android:fromXDelta="0%p" : 시작 위치 -->
    <!-- android:toXDelta="30%p" : 종료 위치 -->
    <!-- android:duration="2000" : 동작 시간 -->
    <!-- android:repeatCount="-1" : 반복횟수(-1은 무한반복) -->
    <!-- android:fillAfter="true" : 애니메이션 종료 후 위치 원상복귀 여부 -->
</set>


// ======== [왼쪽에서 오른쪽으로 이동 컴포넌트 xml 파일] ========
<ImageView
                    android:id="@+id/anim_imageview"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:src="@drawable/arrow_img"
                    android:scaleType="fitCenter"
                    android:layout_marginLeft="30dp"/>

 

 

[원형 회전 소스 코드]

// ======== [전역 변수 선언] ======== 
Animation anim;
ImageView anim_imageview;


// ======== [컴포넌트 매칭] ======== 
anim_imageview = (ImageView) findViewById(R.id.anim_imageview);


// ======== [원형 중앙 회전 애니메이션] ========
public void getAnim_Circle_Rotate(){
	try {
		//TODO 에니메이션 설정 파일 지정
		anim = AnimationUtils.loadAnimation(getApplicationContext(),R.anim.circle_rotate_anim);
		anim_imageview.startAnimation(anim);
		//anim_imageview.setAnimation(anim);
	}
	catch (Exception e){
		e.printStackTrace();
	}
}


// ======== [원형 중앙 회전 circle_rotate_anim.xml 파일] ========
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <rotate
        android:fromXDelta="0%p"
        android:toXDelta="0%p"
        android:duration="2000"
        android:repeatCount="-1"
        android:fillAfter="true"
        android:toDegrees="720"
        android:pivotX="50%p"
        android:pivotY="50%p"/>
    <!-- android:fromXDelta="0%p" : 시작 위치 -->
    <!-- android:toXDelta="30%p" : 종료 위치 -->
    <!-- android:duration="2000" : 동작 시간 -->
    <!-- android:repeatCount="-1" : 반복횟수(-1은 무한반복) -->
    <!-- android:fillAfter="true" : 애니메이션 종료 후 위치 원상복귀 여부 -->
    <!-- android:toDegrees="720" : 각도 -->
</set>


// ======== [원형 중앙 회전 컴포넌트 xml 파일] ========
<ImageView
                    android:id="@+id/anim_imageview"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:src="@drawable/circle_img"
                    android:scaleType="fitCenter"
                    android:layout_marginLeft="0dp"/>

/* =========================== */

/* =========================== */​

[첨부 이미지]

/* =========================== */

/* =========================== */

[요약 설명]

/**

* 1. Animation - 사용자 지정 커스텀 애니메이션 기능을 사용할 수 있습니다

*/

/* =========================== */

반응형
Comments