三种动画效果(Frame, View, Property)实现

来源:互联网 发布:瓷砖排版软件下载 编辑:程序博客网 时间:2024/06/08 06:44

> Android 用Animation-list实现逐帧动画: http://blog.csdn.net/aminfo/article/details/7847761

Android开发——View动画、帧动画和属性动画详解-- http://blog.csdn.net/SEU_Calvin/article/details/52724655

Android动画之一,Drawable Animation: http://blog.csdn.net/chziroy/article/details/40424343

Android开发--图形图像与动画(二)--Animation实现图像的 渐变、缩放、位移、旋转- http://blog.csdn.net/dlutbrucezhang/article/details/8543708

package com.desaco.differentanimation.frame_animation;

import com.desaco.differentanimation.R;

import android.app.Activity;
import android.graphics.drawable.AnimationDrawable;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.Window;
import android.widget.Button;
import android.widget.ImageView;


public class FrameAnimationActivity extends Activity {
private ImageView animationIV;
private Button buttonA, buttonB, buttonC;
private AnimationDrawable animationDrawable;


@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_frame_animation);


animationIV = (ImageView) findViewById(R.id.animationIV);
buttonA = (Button) findViewById(R.id.buttonA);
buttonB = (Button) findViewById(R.id.buttonB);
buttonC = (Button) findViewById(R.id.buttonC);
// 顺序显示
buttonA.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
animationIV.setImageResource(R.drawable.frame_order_animation);
animationDrawable = (AnimationDrawable) animationIV
.getDrawable();
animationDrawable.start();
}


});
// 停止
buttonB.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
animationDrawable = (AnimationDrawable) animationIV
.getDrawable();
animationDrawable.stop();
}


});
// 倒序显示
buttonC.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
animationIV
.setImageResource(R.drawable.frame_reverse_animation);
animationDrawable = (AnimationDrawable) animationIV
.getDrawable();
animationDrawable.start();
}
});
}

}

 > frame_order_animation.xml

<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
    android:oneshot="true" >
    <item
        android:drawable="@drawable/wifi_0"
        android:duration="150">
    </item>
    <item
        android:drawable="@drawable/wifi_1"
        android:duration="150">
    </item>
    <item
        android:drawable="@drawable/wifi_2"
        android:duration="150">
    </item>
    <item
        android:drawable="@drawable/wifi_3"
        android:duration="150">
    </item>
    <item
        android:drawable="@drawable/wifi_4"
        android:duration="150">
    </item>
    <item
        android:drawable="@drawable/wifi_5"
        android:duration="150">
    </item>
</animation-list>

> frame_reverse_animation.xml

<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
    android:oneshot="true" >


    <item
        android:drawable="@drawable/wifi_5"
        android:duration="150">
    </item>
    <item
        android:drawable="@drawable/wifi_4"
        android:duration="150">
    </item>
    <item
        android:drawable="@drawable/wifi_3"
        android:duration="150">
    </item>
    <item
        android:drawable="@drawable/wifi_2"
        android:duration="150">
    </item>
    <item
        android:drawable="@drawable/wifi_1"
        android:duration="150">
    </item>
    <item
        android:drawable="@drawable/wifi_0"
        android:duration="150">
    </item>


</animation-list>


> Android View动画(补间动画):http://blog.csdn.net/sgx425021234/article/details/9195829   http://blog.csdn.net/CHZiroy/article/details/40456399

AlphaAnimation:透明度(alpha)渐变效果,对应<alpha/>标签。
TranslateAnimation:位移渐变,需要指定移动点的开始和结束坐标,对应<translate/>标签。
ScaleAnimation:缩放渐变,可以指定缩放的参考点,对应<scale/>标签。
RotateAnimation:旋转渐变,可以指定旋转的参考点,对应<rotate/>标签。
AnimationSet:组合渐变,支持组合多种渐变效果,对应<set/>标签。


> Android图文详解属性动画: http://www.mamicode.com/info-detail-1150209.html 

 http://blog.csdn.net/lmj623565791/article/details/38067475

> 动画

import android.view.animation.Animation


Animation ivAnimation = AnimationUtils.loadAnimation(this,
                R.anim.dash_scale);
Animation ivAnimation = AnimationUtils.loadAnimation(this,
                R.anim.dash_scale);
        ImageView imageView = (ImageView) favourView
                .findViewById(R.id.iv_favour);
        imageView.setImageResource(R.drawable.xf_comment_like_c);
        imageView.startAnimation(ivAnimation);


<?xml version="1.0" encoding="utf-8"?>
<set
  xmlns:android="http://schemas.android.com/apk/res/android">
    <alpha android:duration="200" android:pivotX="50.0%" android:pivotY="75.0%" android:fromAlpha="0.0" android:toAlpha="1.0" />
    <scale android:duration="200" android:pivotX="50.0%" android:pivotY="75.0%" android:fromXScale="0.38" android:toXScale="1.1" android:fromYScale="0.38" android:toYScale="1.1" />
    <scale android:duration="240" android:pivotX="50.0%" android:pivotY="75.0%" android:startOffset="200" android:fromXScale="1.1" android:toXScale="0.85" android:fromYScale="1.1" android:toYScale="0.85" />
    <scale android:duration="160" android:pivotX="50.0%" android:pivotY="75.0%" android:startOffset="440" android:fromXScale="0.95" android:toXScale="1.07" android:fromYScale="0.95" android:toYScale="1.07" />
</set>

------------------------------------------

/*
     * 加载中
     */
    protected void MyPostExecuteProgress() {
        AlphaAnimation animation = new AlphaAnimation(1.0f, 0.0f);
        animation.setDuration(400);
        in_xf_huxing_progress.startAnimation(animation);
        animation.setAnimationListener(new Animation.AnimationListener() {
            @Override
            public void onAnimationStart(Animation animation) {
            }


            @Override
            public void onAnimationRepeat(Animation animation) {
            }


            @Override
            public void onAnimationEnd(Animation animation) {
                // 动画结束时执行此方法
                progress.setVisibility(View.GONE);
            }
        });
    }

0 0
原创粉丝点击