安卓的动画(一)--帧动画

帧动画

这一周就是把安卓的动画认认真真的学完了,其中安卓的动画其实就分为三类帧动画,补间动画,属性动画
这里写图片描述

帧动画的实现过程

所谓的帧动画就是图片一帧一帧的按照一定顺序播放,然后产生动画效果,这个也是电影的原理,利用人眼的视觉停留时间,让人感觉到东西在动
帧动画的实现有两种方式
1xml设置
2java代码
强烈推荐第一种xml版的,我下面也只解释xml版的实现过程

第一步:找些图片放在drawable文件夹下面
第二步:在在drawable文件夹下通过xml文件生成动画 创建的就是一个animation_list的一个xml文件,起的名字是mian1_1
这里写图片描述
在这里解释一下 这个好像和网页写法很像,首先外面一个animation-list的根标签,然后里面属性配置下,它里面包裹这一个一个的item
android:drawable是选择的图片,duration是持续的时间
第三步:在布局里面写个imagView,然后让让它的background绑定刚才写的xml
这里写图片描述
第四步:在java代码里面通过动画对象的start(),stop()方法来开启或者是停止动画。

public class MainActivity extends AppCompatActivity implements View.OnClickListener {
    private Button start;
    private Button stop;
    private ImageView show;
    private AnimationDrawable anim;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        init();
        anim = (AnimationDrawable)show.getBackground();
    }
    private void init(){
        start = (Button)findViewById(R.id.btn_start);
        stop = (Button)findViewById(R.id.btn_stop);
        show = (ImageView)findViewById(R.id.iv_show);
        start.setOnClickListener(this);
        stop.setOnClickListener(this);
    }

    @Override
    public void onClick(View v) {
        switch (v.getId()){
            case R.id.btn_start:
                anim.start();
                break;
            case R.id.btn_stop:
                anim.stop();
                break;
        }

    }
}

关键代码:
1.ImageView image = (ImageView) findViewById(R.id.image);
//找到这个imageView
2.AnimationDrawable animationDrawable = (AnimationDrawable) image.getDrawable();
//创建这个动画对象并绑定控件
3.animationDrawable.start();
//启动动画
4.animationDrawable.stop();
//关闭动画

这里写图片描述
//这个不知道什么转换的工具好用,,,图弄的很难看,本来应该是5张图片的233

总结

帧动画是最最简单动画,但是太耗资源了,开发又不常用,但是也蛮有意思的

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值