Android帧动画

来源:互联网 发布:js 特效的网站 编辑:程序博客网 时间:2024/05/09 04:15

转载请标明出处:http://blog.csdn.net/wu_wxc/article/details/50204235
本文出自【吴孝城的CSDN博客】

帧动画其实就是用几张静态的图片依次显示,由于人的“视觉残留”,所以给人一种动画的错觉。下面是帧动画的几个小例子


activity_main.xml

<?xml version="1.0" encoding="utf-8"?><FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:paddingBottom="@dimen/activity_vertical_margin"    android:paddingLeft="@dimen/activity_horizontal_margin"    android:paddingRight="@dimen/activity_horizontal_margin"    android:paddingTop="@dimen/activity_vertical_margin"    tools:context="cn.wuxiaocheng.anim.MainActivity">    <ImageView        android:id="@+id/iv"        android:layout_gravity="center"        android:layout_width="100dp"        android:layout_height="100dp"        android:text="Hello World!" />    <Button        android:id="@+id/btn"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="控制动画"        android:layout_gravity="bottom|center"/></FrameLayout>

MainActivity.java

package cn.wuxiaocheng.anim;import android.graphics.drawable.AnimationDrawable;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.view.View;import android.widget.Button;import android.widget.ImageView;public class MainActivity extends AppCompatActivity {    private AnimationDrawable ad;    private ImageView iv;    private Button btn;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        iv = (ImageView) findViewById(R.id.iv);        btn = (Button) findViewById(R.id.btn);        ad = new AnimationDrawable();        //用addFrame向动画中添加帧,后面的参数是毫秒        ad.addFrame(getResources().getDrawable(R.mipmap.img1), 320);        ad.addFrame(getResources().getDrawable(R.mipmap.img2), 320);        ad.addFrame(getResources().getDrawable(R.mipmap.img3), 320);        //循环播放        ad.setOneShot(false);        iv.setBackgroundDrawable(ad);        btn.setOnClickListener(new View.OnClickListener() {            //调用stop()或start()方法停止或开始动画            @Override            public void onClick(View v) {                if (ad.isRunning()){                    ad.stop();                }else {                    ad.start();                }            }        });    }}


activity_main.xml

<?xml version="1.0" encoding="utf-8"?><FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:paddingBottom="@dimen/activity_vertical_margin"    android:paddingLeft="@dimen/activity_horizontal_margin"    android:paddingRight="@dimen/activity_horizontal_margin"    android:paddingTop="@dimen/activity_vertical_margin"    tools:context="cn.wuxiaocheng.anim.MainActivity">    <ImageView        android:id="@+id/iv"        android:layout_gravity="center"        android:layout_width="100dp"        android:layout_height="100dp"        android:text="Hello World!" />    <Button        android:id="@+id/btn"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="控制动画"        android:layout_gravity="bottom|center"/></FrameLayout>
res\drawable\pic_anim.xml

<?xml version="1.0" encoding="utf-8"?><animation-list xmlns:android="http://schemas.android.com/apk/res/android">    <item android:drawable="@mipmap/img1" android:duration="320"/>    <item android:drawable="@mipmap/img2" android:duration="320"/>    <item android:drawable="@mipmap/img3" android:duration="320"/></animation-list>

MainActivity.java

package cn.wuxiaocheng.anim;import android.graphics.drawable.AnimationDrawable;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.view.View;import android.widget.Button;import android.widget.ImageView;public class MainActivity extends AppCompatActivity {    private AnimationDrawable ad;    private ImageView iv;    private Button btn;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        iv = (ImageView) findViewById(R.id.iv);        btn = (Button) findViewById(R.id.btn);        iv.setBackgroundResource(R.drawable.pic_anim);        ad = (AnimationDrawable) iv.getBackground();        btn.setOnClickListener(new View.OnClickListener() {            //调用stop()或start()方法停止或开始动画            @Override            public void onClick(View v) {                if (ad.isRunning()){                    ad.stop();                }else {                    ad.start();                }            }        });    }}





1 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 数学成绩考砸了怎么办? 考砸了家长发火怎么办 大型考试考砸了怎么办 能力考试考砸了怎么办 考砸了老师批评怎么办 英语抽测考砸了老师怎么办? 辅导班学生考砸了老师怎么办 好学生考砸了怎么办? 孩子学习不认真马虎怎么办 孩子做作业不认真马虎怎么办 一年级小孩学习不认真怎么办 孩子做题审题不认真怎么办 初二孩子不认真审题怎么办 孩子总是粗心抄错题看错题怎么办 孩子总马虎我要怎么办 年检标志跟车牌号不一样怎么办 纹完身后喝酒了怎么办 孩子学习态度不端正怎么办 孩子高考三模考差了家长怎么办 一年级学生学习马虎大意怎么办 一年级下册孩子做作业马虎怎么办 一年级孩子做题马虎怎么办 四年级小孩不喜欢数学该怎么办 工作出了大错误怎么办 遇到不讲道理的人怎么办 四岁宝宝爱生闷气怎么办 一岁宝宝没耐心怎么办 孩子挑食 幼儿园老师该怎么办 小孩被惯的无法无天怎么办 高中的儿子不写作业怎么办 儿子总是不写作业怎么办 长鸡眼脚背肿了怎么办 脚上反复长鸡眼怎么办 脚底长鸡眼很痒怎么办 小脚趾上长鸡眼怎么办 6岁宝宝不爱学习怎么办 上班站久了腿肿怎么办 站时间长了腿肿怎么办 孩子做作业老是粗心大意怎么办 高中孩子没学习兴趣怎么办 初三孩子失去学习兴趣怎么办