-
[Android] 안드로이드 애니메이션(Animation) 구현 (2) -Translate(좌표 이동)안드로이드 스튜디오 2022. 9. 17. 11:06
1. Animation - Translate 개요
애니메이션 중 Translate는 View를 이동시키는 효과를 구현해주는 도구입니다.
2. Animation - Translate 구현(XML)
main.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center" android:orientation="vertical"> <ImageButton android:id="@+id/imgBtn" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/ic_launcher" android:background="@android:color/transparent"/> </LinearLayout>
간단히 이미지 버튼만 추가해줬습니다.
translate.xml
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android" android:duration="1000" android:interpolator="@android:anim/accelerate_interpolator"> <translate android:fromXDelta="0" android:fromYDelta="0" android:toXDelta="50%p" android:toYDelta="-50%p" /> </set>
fromXDelta="0": 현재의 x 좌표
fromYDelta="0": 현재의 y 좌표
toXDelta="50%p": 전체 가로 길이의 50%이며 양수는 오른쪽 좌표
toYDeltaDelta="-50%p" : 전체 세로 길이의 50%이며 음수는 위쪽 좌표3. Animation - Translate 구현(Java)
MainActivity.java
public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); ImageButton imgBtn = findViewById(R.id.imgBtn); final Animation translate = AnimationUtils.loadAnimation(MainActivity.this, R.anim.translate); imgBtn.setOnClickListener(new View.OnClickListener(){ @Override public void onClick(View v) { v.startAnimation(translate); } }); } }
AnimationUtils.loadAnimation(Context, int): 구현하고자 하는 애니메이션을 불러옵니다.
startAnimation(Animation): 애니메이션을 시작합니니다.4. 실제 구현 화면
개발자 문서:
https://developer.android.com/reference/android/view/animation/TranslateAnimation
'안드로이드 스튜디오' 카테고리의 다른 글
[Android] 안드로이드 애니메이션(Animation) 구현 (4) - Alpha (투명도) (0) 2022.09.17 [Android] 안드로이드 Animation 구현 (3) - Scale (크기 변경) (0) 2022.09.17 [Android] 안드로이드 애니메이션(Animation) 구현 (1) - Rotate (0) 2022.09.16 [Android] 안드로이드 토스트(Toast) 사용하기 (0) 2022.09.14 [Android] 안드로이드 NumberPicker 사용하기 (0) 2022.09.13 댓글