1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > android动画介绍之 自定义Animation动画【HTML】

android动画介绍之 自定义Animation动画【HTML】

时间:2020-07-17 01:41:42

相关推荐

android动画介绍之 自定义Animation动画【HTML】

web前端|html教程

android动画介绍之 自定义Animation动画

web前端-html教程

昨天我们介绍了Animation的基本用法。小伙伴们了解的怎么样了?如果还没有了解过Animation的小伙伴可以看看这篇博客

互动多媒体 源码,ubuntu安装net环境,Tomcat9相匹配的版本,爬虫思路图片大全,能直接运行php代码的工具,济南seo价格lzw

android动画介绍–Animation 实现loading动画效果

vb6.0源码,vscode 如何双屏,ubuntu显示桌面,tomcat安全配置,c sqlite封装,网页设计深圳市,php 插入数据库失败,香港ntt服务器,wordpress 媒体库 插件,web前端布局框架,国外的爬虫,php注册登录,seo微博,springboot请求跳转,phpcmsv9标签,中国龙flash网站源码,展示图片的网页模板免费下载,cms论坛类型模板,建站之星后台验证码不显示,html自动生成页面,c图书管理系统源代码,仿百度网盘程序lzw

安卓内置的四种动画虽然说可以用AnimationSet进行组合操作,但是这些组合往往在特定场合是不够用的,就像view一样,我们可以自定义动画效果。

三级分销商城开发系统源码下载,vscode命令行安装,自主CPU Ubuntu,tomcat需要jre吗,谷歌广告爬虫,java和php混合编程,口碑好seo优化信息推荐,网站首页site不到 a5,wordpress模板没反应lzw

今天要做成的效果是模仿qq的抖一抖效果,老规矩,先来看今天的效果图:

自定义动画的实现方法为 继承Animation类重写applyTransformation()方法

public class CustomAnimation extends Animation { @Override protected void applyTransformation(float interpolatedTime, Transformation t) { t.getMatrix().setTranslate((float)Math.sin(interpolatedTime*50)*20,0); super.applyTransformation(interpolatedTime, t); }}

可以看到 applyTransformation()方法有两个参数 第一个参数interpolatedTime代表一个0-1逐渐增大的float, t代表view所需要的变化,例如t.setAlpha(); t.setTranslate();顾名思义这两个方法是发生透明度变化和位移变化。

那么我们今天的目标是实现抖一抖效果,思路如下: view先向左位移,再向右位移。 坐标为 (0-n,0) —>(0+n,n),一正一负的变化,就要用到我们的三角函数了。所以这里t.setTranslate(Math.sin())。

这样基本上我们的自定义 动画就完成了,接下来在MainActivity下获取当前的布局,给他添加动画效果

public class MainActivity extends ActionBarActivity { private Button mButton; private RelativeLayout mRelativeLayout; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mButton = (Button) findViewById(R.id.shake); mRelativeLayout = (RelativeLayout) findViewById(R.id.relativelayout); final CustomAnimation ca = new CustomAnimation(); ca.setDuration(1000); mButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) {mRelativeLayout.startAnimation(ca); } }); }}

这样便大功告成!如果喜欢我的博客,请点赞哦

源代码下载

版权声明:本文为博主原创文章,欢迎注明出处后转载。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。