Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 전화걸기
- 어노테이션
- 생성자
- 국제화
- paint
- 에러페이지
- JavaScript
- 메소드
- 클래스
- 기본
- Menu
- AWT
- 안드로이드
- layout
- 이클립스
- Graphic
- oracle
- mybatis
- 배열
- Android
- Spring
- Eclips
- struts2
- 메서드
- 오버로딩
- OGNL
- Java
- HTML
- 예외처리
- JSP
Archives
- Today
- Total
note
Android Animaiton 으로 효과 본문
이미지가 서서히 변하는 효과입니다(자연스럽게)
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>
alpha.xml
<?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 -->
main activity
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>
tween.xml
<?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.02.01 |
---|---|
Android FileSearch Gallery(사진선택) (0) | 2012.02.01 |
Android Paint로 그림그리기 (0) | 2012.02.01 |
Android Preferences 읽고 쓰기(환경설정) (0) | 2012.02.01 |
안드로이드 환경설정Preferences , 메뉴 (0) | 2012.01.31 |