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 |
Tags
- Eclips
- 오버로딩
- 이클립스
- 기본
- Java
- Android
- layout
- 생성자
- 메서드
- OGNL
- 메소드
- 클래스
- Menu
- HTML
- 배열
- struts2
- mybatis
- paint
- Graphic
- JavaScript
- 안드로이드
- 어노테이션
- oracle
- 예외처리
- JSP
- AWT
- 국제화
- Spring
- 에러페이지
- 전화걸기
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 |