Notice
Recent Posts
Recent Comments
Link
투케이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 - 사용자 지정 커스텀 애니메이션 기능을 사용할 수 있습니다
*/
/* =========================== */
반응형
'Android' 카테고리의 다른 글
Comments