Android常用的动画和小型代码理解
2017-09-25 10:59
211 查看
动画方式主要有两种补间动画和属性动画,这两种方式也没有实际改变view布局位置,需要值得注意的是补间动画执行结束后效果会瞬间回到原来的位置,是对影像进行操作,将fillAfter属性改为true就不会有这种效果,属性动画则没有这一特性。举个栗子:
/*补间动画*/
TranslateAnimation
animation = new TranslateAnimation(0,300,0,0);
animation.setDuration(2000);
animation.setFillAfter(true);
btn_scroll.startAnimation(animation);
/*属性动画*/
ObjectAnimator
animator = ObjectAnimator.ofFloat(btn_scroll,"translationX",0,300);
animator.setDuration(2000).start();
而补间动画还会有一个问题,当Button滑动完成之后,再点击Button没有任何响应,而点击Button之前的位置仍可以触发onClick()事件,属性动画没有这一特性。
还有俩种可以实现滑动那就是
一、
这两个方法都是View自带的滑动方法,即每个控件都可以通过调用这两个方法实现滑动。scrollBy()方法的实现本质也是调用scrollTo()方法,不同之处在于。scrollyTo()方法参数是确定滑动位置的终点,即要滑动到哪儿去,绝对坐标。而scrollBy()方法参数是形容要滑动的距离,要滑动多少,根据当前位置的相对坐标
二、
前面讲到的两种方式都提到并没有真正改变布局参数,这回终于说到改变布局参数而实现。。这种方式是直接改变View在父view中的布局位置,比如要实现上图Button右滑300像素,则将View左边到父View左边的距离Left,View右边到父View左边的距离Right增加300px(对视图坐标系不太清楚的可以参考这篇文章:坐标系),即可实现
btn_scroll.layout(btn_scroll.getLeft()+300,btn_scroll.getTop(),btn_scroll.getRight()+300,btn_scroll.getBottom());
/*补间动画*/
TranslateAnimation
animation = new TranslateAnimation(0,300,0,0);
animation.setDuration(2000);
animation.setFillAfter(true);
btn_scroll.startAnimation(animation);
/*属性动画*/
ObjectAnimator
animator = ObjectAnimator.ofFloat(btn_scroll,"translationX",0,300);
animator.setDuration(2000).start();
而补间动画还会有一个问题,当Button滑动完成之后,再点击Button没有任何响应,而点击Button之前的位置仍可以触发onClick()事件,属性动画没有这一特性。
还有俩种可以实现滑动那就是
一、
这两个方法都是View自带的滑动方法,即每个控件都可以通过调用这两个方法实现滑动。scrollBy()方法的实现本质也是调用scrollTo()方法,不同之处在于。scrollyTo()方法参数是确定滑动位置的终点,即要滑动到哪儿去,绝对坐标。而scrollBy()方法参数是形容要滑动的距离,要滑动多少,根据当前位置的相对坐标
二、
修改布局参数
前面讲到的两种方式都提到并没有真正改变布局参数,这回终于说到改变布局参数而实现。。这种方式是直接改变View在父view中的布局位置,比如要实现上图Button右滑300像素,则将View左边到父View左边的距离Left,View右边到父View左边的距离Right增加300px(对视图坐标系不太清楚的可以参考这篇文章:坐标系),即可实现btn_scroll.layout(btn_scroll.getLeft()+300,btn_scroll.getTop(),btn_scroll.getRight()+300,btn_scroll.getBottom());
相关文章推荐
- Android的一段常用动画效果代码(如何让点击的图片控件加速飞入到指定位置)
- Android的一段常用动画效果代码(如何让点击的图片控件加速飞入到指定位置)
- javascript 小型动画组件与实现代码
- Silverlight实用窍门系列:20.后台CS代码中创建四种常用的动画效果【附带源码实例】
- 20.后台CS代码中创建四种常用的动画效果
- Android常用的简单代码
- 通过代码调用常用的Android平台功能
- 网页中插入Flash动画(.swf)代码和常用参数设置
- android 常用代码
- android 开发中常用到的一些代码片段(一)
- android 常用代码
- Android---常用代码片段的分享
- android Tween Animations(动画效果-代码实现)的使用
- 转载 Android入门学习_代码常用布局
- 转载:Android 常用代码集合
- Android手机中的APNs 的设定,和常用代码片段
- 网页中插入Flash动画(.swf)代码和常用参数设置
- Android 常用代码集合
- android 常用代码
- android源码中常用于参考的代码