博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android--补间动画
阅读量:6671 次
发布时间:2019-06-25

本文共 2446 字,大约阅读时间需要 8 分钟。

hot3.png

旋转动画

RotateAnimation ra = new RotateAnimation(0                        ,720                        , Animation.RELATIVE_TO_SELF  //相对于自身的0.5                        ,0.5f                        ,Animation.RELATIVE_TO_SELF   //相对于自身的0.5                        ,0.5f);                ra.setDuration(800);                ra.setRepeatCount(1);       //循环次数1次                ra.setRepeatMode(Animation.REVERSE);  //反转                imageView.startAnimation(ra);

透明度动画

//参数1:起始透明度 参数2:结束透明度        AlphaAnimation aa = new AlphaAnimation(1.0f, 0.5f);        aa.setDuration(2000);        //停留在动画执行完的状态        //aa.setFillAfter(true);        //设置重复次数 实际次数为传的实际参数+1 常量INFINITE代表无限次        aa.setRepeatCount(Animation.INFINITE);        //设置重复模式 常量REVERSE是类似钟摆的过度变化效果        aa.setRepeatMode(Animation.REVERSE);        //让iv控件执行此动画        iv.startAnimation(aa);

旋转动画

ScaleAnimation sa = new ScaleAnimation(1, 2                , 1, 2                , Animation.RELATIVE_TO_SELF                , 0.5f                , Animation.RELATIVE_TO_SELF                , 0.5f);        sa.setDuration(2000);        iv.startAnimation(sa);

缩放动画

ScaleAnimation sa = new ScaleAnimation(1, 2                , 1, 2                , Animation.RELATIVE_TO_SELF                , 0.5f                , Animation.RELATIVE_TO_SELF                , 0.5f);        sa.setDuration(2000);        iv.startAnimation(sa);

平移动画(顺便加上让元素平移出屏幕然后停留在屏幕外面)

//模拟将图像移出手机屏幕        //获取当前屏幕的宽度        int width = getWindowManager().getDefaultDisplay().getWidth();        //创建平移补间动画对象 参数1:x起始点 参数2:x结束点 参数3:y起始点 参数4:y结束点        TranslateAnimation ta = new TranslateAnimation(0, width                , 0, 0);        //设置停留在平移后的状态        ta.setFillAfter(true);        ta.setDuration(2000);        iv.startAnimation(ta);

多种补间动画同时执行

AlphaAnimation aa = new AlphaAnimation(1.0f, 0.5f);        aa.setDuration(2000);        TranslateAnimation ta = new TranslateAnimation(0, 100                , 0, 100);        ta.setDuration(2000);        ScaleAnimation sa = new ScaleAnimation(1, 2                , 1, 2                , Animation.RELATIVE_TO_SELF                , 0.5f                , Animation.RELATIVE_TO_SELF                , 0.5f);        sa.setDuration(2000);        AnimationSet as = new AnimationSet(false);        as.addAnimation(aa);        as.addAnimation(ta);        as.addAnimation(sa);//      as.setDuration(2000);        iv.startAnimation(as);

 

转载于:https://my.oschina.net/lanyu96/blog/2248136

你可能感兴趣的文章
Redis 哨兵集群
查看>>
linux 证书颁发的两种方法
查看>>
1007_C/C++笔试题_16:16道c语言面试【15/16】
查看>>
Spring异常Ambiguous mapping found.
查看>>
Linux运维工具
查看>>
年末苦逼找工作
查看>>
我的友情链接
查看>>
电脑检测维修规范,注意事项,常见故障排除,维修技巧
查看>>
笔记二
查看>>
hive2.1.0 安装
查看>>
移动终端开发_高端课程
查看>>
我的友情链接
查看>>
提交服务器汉字乱码解决方法
查看>>
Android SDK:构建一个购物中心搜索的应用(二)-Points of Interest
查看>>
关于android使用自己的launcher替换默认launcher的方法
查看>>
ASP.NET 4.5 MVC实战教程 MVC视频教程
查看>>
Excel编辑模块openpyxl的常用功能介绍
查看>>
通过TFTP服务器拷贝路由器的配置文件到本地
查看>>
南方电网广东公司荣获“IT用户最佳实践案例奖”
查看>>
Yesod - 数据库 (9)
查看>>