Android下常见动画

摘要:Android中常见的的动画有三种:属性动画、补间动画、帧动画。

注、因为前两种内容较多,后补

一、属性动画

 

二、补间动画

 

三、帧动画:本质是将一些连贯的图片加载形成连贯的动画效果

1.在Drawable目录下添加需要加载的图片,并创建加载资源图片的背景xml文件

<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
                android:oneshot="false">
    <item android:drawable="@drawable/girl_1" android:duration="200" />
    <item android:drawable="@drawable/girl_2" android:duration="200" />
    <item android:drawable="@drawable/girl_3" android:duration="200" />
    <item android:drawable="@drawable/girl_4" android:duration="200" />
    <item android:drawable="@drawable/girl_5" android:duration="200" />
    <item android:drawable="@drawable/girl_6" android:duration="200" />
    <item android:drawable="@drawable/girl_7" android:duration="200" />
    <item android:drawable="@drawable/girl_8" android:duration="200" />
    <item android:drawable="@drawable/girl_9" android:duration="200" />
    <item android:drawable="@drawable/girl_10" android:duration="200" />
</animation-list>

2、在布局文件中创建一个Button用于启动帧动画的播放同时创建一个ImageView用于显示图片

<Button
        android:id="@+id/bt_play"
        android:text="Play Animation"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>
    <ImageView
        android:id="@+id/iv_image"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>

3.在MainActivity中寻找控件和业务逻辑的实现

public class MainActivity extends Activity implements View.OnClickListener
{
    private Button bt_play = null;
    private ImageView iv_image = null;
    Context mContext = null;
    AnimationDrawable ad = null;
    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mContext = this;
        iv_image = (ImageView) findViewById(R.id.iv_image);
        bt_play = (Button) findViewById(R.id.bt_play);
        bt_play.setOnClickListener(this);
        iv_image.setBackgroundResource(R.drawable.my_animation);
        ad = (AnimationDrawable) iv_image.getBackground();
    }
    @Override
    public void onClick(View view)
    {
        switch (view.getId())
        {
            case R.id.bt_play:
            ad.start();
                break;
            default:
                break;
        }
    }
}

 

posted @ 2017-01-07 22:05  Youxian  阅读(194)  评论(0)    收藏  举报