-
[Android] 안드로이드 Animation 구현 (3) - Scale (크기 변경)안드로이드 스튜디오 2022. 9. 17. 17:55
1. Animation - Scale 개요
안드로이드 애니메이션 기능 중 Scale은 View의 크기를 변경해주는 도구입니다.
2. Animation - Scale 구현 (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/light_bulb" android:background="@android:color/transparent" android:tint="#F8CA00"/> </LinearLayout>
간단하게 전구 모양의 이미지버튼을 구현했습니다.
scale.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"> <scale android:fromXScale="0.5" android:toXScale="3.0" android:fromYScale="0.5" android:toYScale="3.0" android:pivotX="50%" android:pivotY="50%"/> </set>
fromXScale: 가로값의 시작 배율
toXScale: 가로값의 종료 배율
fromYScale: 세로값의 시작 배율
toYScale: 세로값의 종료 배율
pivotX: 크기 조정을 시작할 가로축 지점
pivotY: 크기 조정을 시작할 세로축 지점3. Animation - Scale (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 scale = AnimationUtils.loadAnimation(MainActivity.this, R.anim.scale); imgBtn.setOnClickListener(new View.OnClickListener(){ @Override public void onClick(View v) { v.startAnimation(scale); } }); } }
AnimationUtils.loadAnimation(Context, int): 구현할 애니메이션을 불러옵니다.
startAnimation(Animation): 애니메이션 시작4. 실제 구현 화면
개발자 문서:
https://developer.android.com/reference/android/view/animation/ScaleAnimation
'안드로이드 스튜디오' 카테고리의 다른 글
[Android] 안드로이드 애니메이션(Animation) Interpolator 알아보기 (0) 2022.09.18 [Android] 안드로이드 애니메이션(Animation) 구현 (4) - Alpha (투명도) (0) 2022.09.17 [Android] 안드로이드 애니메이션(Animation) 구현 (2) -Translate(좌표 이동) (0) 2022.09.17 [Android] 안드로이드 애니메이션(Animation) 구현 (1) - Rotate (0) 2022.09.16 [Android] 안드로이드 토스트(Toast) 사용하기 (0) 2022.09.14 댓글