이미지가 서서히 변하는 효과(자연스럽게)
main.xml<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" android:gravity="center" > <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/img" android:src="@drawable/jessica" /> </LinearLayout>
<?xml version="1.0" encoding="utf-8"?> <alpha xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@android:anim/accelerate_interpolator" android:fromAlpha="0.0" android:toAlpha="1.0" android:duration="2000" /> <!-- interpolator : 안드로이드에서 인터폴레이터는 애니메이션의 변화 정도를 정의 이 값을 조정하여 애니메이션을 가속시킬 수도 있고, 감속시킬 수도 있으며 반복시킬수도 있음 fromAlpha : 애니메이션 시작 toAlpha : 애니메이션 끝 알파값 : 0.0 (완전투명) ~ 1.0(완전 불투명) duration : 애니메이션이 진행되는데 "지연시간 (밀리세컨드)" 참조 클래스 : android.viewanimation.AlphaAnimaiton -->
package kr.android.animation; import android.app.Activity; import android.os.Bundle; import android.view.animation.Animation; import android.view.animation.AnimationUtils; import android.widget.ImageView; public class AnimationDemo1 extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); ImageView image = (ImageView)findViewById(R.id.img); Animation alphaAnim = AnimationUtils.loadAnimation(this, R.anim.alpha); image.startAnimation(alphaAnim); } }
이미지가 확대 되고 한바퀴 돌려지는 효과 (캡쳐는 일부분)
main.xml<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" android:gravity="center" > <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/img" android:src="@drawable/jessica" /> </LinearLayout>
<?xml version="1.0" encoding="utf-8"?> <!-- 여러 가지 애니메이션 효과를 set로 묶어줌. --> <set xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@android:anim/accelerate_decelerate_interpolator"> <!-- 여러 가지 android:interpolator 1) 가속효과(accelerate,시작은 천천히, 갈수록 가속화) : accelerate_interpolator 2) 감속효과(decelarate, 시작은 빨리, 갈수록 감속화) : decelerate_interpolator 3) 가속/감속(시작과 끝은 천천히, 중간은 가속화) : accelerate_decelerate_interpolator 4) 튀는 효과(bounce, 공이 튀는 듯한 효과) : bounce_interpolator 5) 예측효과(anicipate,개구리가 움츠렸다 튀어나가는 듯한 효과) : anicipate_interpolator 6) 예측/넘침효과 : anicipate_overshoot_interpolator 7) 반복효과(cycle, 수학의 사인곡선을 이용하여 지정한 횟수만큼 반복):cycle_interpolator 8) 선형적인 변화지수(linear):linear_interpolator 9) 넘침효과(overshoot,원래 지정된 애니메이션 목표를 지나쳐버리는 효과):overshoot_interpolator --> <alpha android:interpolator="@android:anim/accelerate_interpolator" android:fromAlpha="0.0" android:toAlpha="1.0" android:duration="1000" /> <scale android:fromXScale="1.0" android:toXScale="2.0" android:fromYScale="1.0" android:toYScale="2.0" android:pivotX="50" android:pivotY="50%p" android:startOffset="2000" android:duration="1000" /> <!-- pivotX, pivotY 확대 변형을 하려면, 확대할 기준점이 필요. 이 값을 지정하지 않으면 객체의 중심점을 기준으로 변경 "50"과 "50%"는 변형 대상 객체의 크기에 비율을 의미, "50%p"는 변형 대상 객체의 부모의 크기에 비례하여 중심점을 정함. startOffset을 "2000"으로 하면 확대 효과를 2초 후에 작동하도록 설정 --> <translate android:fromXDelta="0" android:toXDelta="0" android:fromYDelta="0" android:toYDelta="50%" android:startOffset="3000" android:duration="1000" /> <rotate android:fromDegrees="0" android:toDegrees="360" android:pivotX="0" android:pivotY="50%p" android:startOffset="4000" android:duration="1000" /> </set>
package kr.android.animation2; import android.app.Activity; import android.os.Bundle; import android.view.animation.Animation; import android.view.animation.AnimationUtils; import android.widget.ImageView; public class AnimationDemo2 extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); ImageView image = (ImageView)findViewById(R.id.img); Animation tween = AnimationUtils.loadAnimation(this, R.anim.tween); image.startAnimation(tween); } }
'Android > 기본' 카테고리의 다른 글
Android Constants Provider (0) | 2012.04.28 |
---|---|
Android FileSearch Gallery(사진선택) (0) | 2012.04.28 |
Android Paint로 그림그리기 (0) | 2012.04.28 |
Android Preferences 읽고 쓰기(환경설정) (0) | 2012.04.28 |
안드로이드 환경설정Preferences , 메뉴 (0) | 2012.04.28 |