-
[Tip] 레이아웃 페이드인 애니메이션 (Fade in Layout)Mhwan's Develope/Android 2016. 10. 25. 00:55
안드로이드에서 뷰마다 애니메이션을 줄 수 있는데, 이 글은 특정 뷰 그룹으로 묶어서 애니메이션을 주기 위해 만든 커스텀 리니어레이아웃이다.
리니어레이아웃을 상속받아 작성한 것으로 다른 액티비티에서 show를 호출하면 애니메이션이 시작되게된다.
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950public class FadeInLinearlayout extends LinearLayout {private Context context;private Animation startanimation;public FadeInLinearlayout(Context context) {super(context);this.context = context;initAnimations();}public FadeInLinearlayout(Context context, AttributeSet attrs) {super(context, attrs);this.context = context;initAnimations();}public FadeInLinearlayout(Context context, AttributeSet attrs, int defStyleAttr) {super(context, attrs, defStyleAttr);this.context = context;initAnimations();}@TargetApi(Build.VERSION_CODES.LOLLIPOP)public FadeInLinearlayout(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {super(context, attrs, defStyleAttr, defStyleRes);this.context = context;initAnimations();}private void initAnimations() {startanimation = AnimationUtils.loadAnimation(context, R.anim.anim_button);}public void show() {if (isVisible())return;show(true);}public void show(boolean withAnimation) {if (withAnimation)this.startAnimation(startanimation);this.setVisibility(View.VISIBLE);}public boolean isVisible(){return (this.getVisibility() == View.VISIBLE);}}cs 애니메이션 파일은 아래와 같다
12345678910111213<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android"android:fillAfter="true"android:duration="600"android:interpolator="@android:anim/linear_interpolator"><alphaandroid:fromAlpha="0.3"android:toAlpha="1.0"/><translateandroid:fromYDelta="70%"android:toYDelta="0%" /></set>cs 이렇게 한 다음에 액티비티 xml에서 동시에 보이게할 뷰를 FadeInLinearlayout으로 묶어버리면 된다.'Mhwan's Develope > Android' 카테고리의 다른 글
[Tip] Android Universal Image Loader 라이브러리 사용팁 (갤러리에서 선택한 이미지 보여주기) (0) 2016.11.02 [Tip] 안드로이드 사용자 주소록 리스트 가져오기 (0) 2016.10.27 [Tip] 안드로이드 디바이스 화면 사이즈 알아내기 (0) 2016.10.27 [Tip] 안드로이드 dp<->px 변환 (0) 2016.10.27 [Tip] 안드로이드 dp, sp 값과 픽셀 (0) 2016.07.24