AnimationOne
5631 단어 animation
앞의 두 가지 애니메이션 은 developer 에서 간단 한 소개 가 있 습 니 다. 관심 이 있 는 학생 은 볼 수 있 습 니 다.
[url] http://developer.android.com/guide/topics/graphics/view-animation.html[/url]
(1) 프레임 애니메이션
쉽게 말 하면 영화 필름 과 마찬가지 로 그림 을 연속 으로 재생 하여 애니메이션 을 구성 하 는 것 이다.
res / drawable 에서. xml 파일 을 정의 하고 재생 할 그림 을 설정 합 니 다. duration 그림 재생 시간
<animation-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/loading_1" android:duration="160" />
<item android:drawable="@drawable/loading_2" android:duration="160" />
<item android:drawable="@drawable/loading_3" android:duration="160" />
</animation-list>
네.자바
AnimationDrawable mLoadingAnim;
ImageView animView = (ImageView) findViewById(R.id.loading_anim);
animView.setBackgroundResource(R.drawable.card_loading_anim);
mLoadingAnim = (AnimationDrawable) animView.getBackground();
mLoadingAnim.setOneShot(false); //
mLoadingAnim.start();
(2) TweenAnimation
쉽게 말 하면 컴퓨터 를 통 해 도형 을 바 꾸 는 것 이다.anroid 에서 제공 하 는 4 가지 이미지 변환 은 scale (사이즈 확대 축소), alpha (투명도 변환), translate (위치 변환), rotate (회전 변환) 이다.
res / anim 에서 그림 의 변 화 를 정의 합 니 다.
<?xml version="1.0" encoding="utf-8"?>
<set android:interpolator="@android:anim/decelerate_interpolator">
<scale
android:fromXScale="1.4"
android:toXScale="0.0"
android:fromYScale="0.6"
android:toYScale="0.0"
android:pivotX="50%"
android:pivotY="50%"
android:duration="400"/>
<rotate
android:fromDegrees="0"
android:toDegrees="-45"
android:toYScale="0.0"
android:pivotX="50%"
android:pivotY="50%"
android:duration="400" />
</set>
자바
Animation anim;
anim = AnimationUtils.loadAnimation(this, R.anim.go);
ImageView animView = (ImageView) findViewById(R.id.loading_anim);
animView.startAnimation(anim);
scale, rotate, translate, alpha 는 xml 에 많은 속성 이 있 습 니 다. 관심 이 있 는 학생 들 은 developer 에서 문 서 를 보 거나 아래 연결 을 클릭 하여 정 리 를 할 수 있 습 니 다.
http://liaobingyun.blog.163.com/blog/static/12981211120099975217653/
Animation 류 에서 많은 인 터 페 이 스 를 제공 하여 일부 기능 을 편리 하 게 실현 할 수 있 습 니 다. 본인 이 자주 사용 하 는 세 개의 인터페이스, 그래서 생각 합 니 다.
public void onAnimationEnd(Animation animation) {
// TODO Auto-generated method stub
}
@Override
public void onAnimationRepeat(Animation animation) {
// TODO Auto-generated method stub
}
@Override
public void onAnimationStart(Animation animation) {
// TODO Auto-generated method stubd
}
Tween Animation 에서 xml 파일 을 버 리 고 바로 있 을 수 있 습 니 다.자바 에서 정의 하기 (물론 FrameAnimation 도 가능 합 니 다)
AnimationSet animSet = new AnimationSet(false);
Animation anim1 = new AlphaAnimation(1,0);
Animation anim2 = new RotateAnimation(0,360,30,30);
anim1.setDuration(400);
anim2.setDuration(400);
animSet.addAnimation(anim1);
animSet.addAnimation(anim2);
view.setAnimation(animSet);
animSet.startNow();
여기 서 AnimationSet 의 애니메이션 은 동시에 재생 되 고 안 드 로 이 드 는 연속 재생 인 터 페 이 스 를 제공 하지 않 습 니 다. startOffset 설정 을 통 해 이 문 제 를 해결 할 수 있 습 니 다.
anim2.setStartOffset(1000);
이렇게 anim 2 의 애니메이션 효 과 는 anim 1 에서 1000 m 를 재생 한 후에 재생 됩 니 다.
마지막 으로 애니메이션 을 불 러 오 는 일반적인 화면 은 움 직 이지 않 습 니 다.안 드 로 이 드 때문에 onCreate 에서 anim. start () 를 재생 하 는 것 은 잘못 되 었 습 니 다. handleMessage 방식 이나 listener 를 통 해 이 벤트 를 촉발 한 후에 불 러 와 야 합 니 다.
방식 1:
Button btn =(Button) findViewById(R.id.btn);
btn.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
showAnimation();
}
});
방식 2:
myHandler handler = new myHandler ();
handler.sendEmptyMessage(1);
private class AnimationHandler extends Handler {
@Override
public void handleMessage(Message msg) {
switch(msg.what) {
case SHOW_CARD_ANIMATION:{
handler.postDelayed(new Runnable() {
@Override
public void run() {
showCardAnim();
}
}, 0);
break;
}
}
}
}
조판 귀찮아 죽 겠 어 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
How to make animation on scroll ?There have so many animation for icon scroll, but today we will do animation type arrow run down like animated last post...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.