曲线运动PathInterpolator /path
来源:互联网 发布:淘宝卖家跑路了 编辑:程序博客网 时间:2024/06/07 07:08
Material Design 中的动画利用曲线实现时间内插与空间移动模式。 利用 Android 5.0(API 级别 21)及更高版本,您可为动画定义定制时间曲线以及曲线运动模式。
PathInterpolator 类别是一个基于贝塞尔曲线或 Path 对象的全新插入器。 此插入器在一个 1x1 的正方形内指定一个运动曲线,定位点位于 (0,0) 以及 (1,1),而控制点则使用构造函数参数指定。 您也可以将路径插入器定义为一个 XML 资源:
<pathInterpolator xmlns:android="http://schemas.android.com/apk/res/android" android:controlX1="0.4" android:controlY1="0" android:controlX2="1" android:controlY2=“1"/>
系统将为 Material Design 规范中的三种基本曲线提供 XML 资源:
@interpolator/fast_out_linear_in.xml
@interpolator/fast_out_slow_in.xml
@interpolator/linear_out_slow_in.xml
您可以将一个 PathInterpolator 对象传递给 Animator.setInterpolator() 方法。
ObjectAnimator 类别拥有新的构造函数,可让您一次使用两个或更多属性在路径上为坐标添加动画。 例如,下列动画使用 Path 对象为视图的 X 和 Y 属性添加动画:
ObjectAnimator mAnimator;mAnimator = ObjectAnimator.ofFloat(view, View.X, View.Y, path);...mAnimator.start();
实例A曲线滑动:
Path path = new Path(); path.moveTo(100, 100); path.quadTo(1000, 300, 300, 700); ObjectAnimator animator = ObjectAnimator.ofFloat(circleImageView, View.X, View.Y, path); animator.setDuration(3000); animator.start();
实例B,平移
Path path = new Path(); path.cubicTo(0.2f, 0f, 0.1f, 1f, 0.5f, 1f); path.lineTo(1f, 1f); ObjectAnimator animator = ObjectAnimator.ofFloat(view, View.TRANSLATION_X, 500); animator.setInterpolator(PathInterpolatorCompat.create(path)); animator.start();
Android官网相关地址:https://developer.android.com/training/material/animations.html#CurvedMotion
运行效果,可以下载我在gitHub上的demo:https://github.com/xianjuren/AndroidMaterialDesignAnimation阅读全文
0 0
- 曲线运动PathInterpolator /path
- PathInterpolator
- 曲线运动
- 把玩PathInterpolator
- 贝塞尔曲线运动
- 曲线运动,圆周运动
- cocos2d-x 曲线运动
- 贝塞尔曲线运动详解
- Cocos2d动作:贝塞尔曲线运动
- 自定义贝塞尔曲线运动
- Android动画插值器之PathInterpolator浅析
- Android动画插值器之PathInterpolator浅析
- 匀速贝塞尔曲线运动(续)
- TangIDE之贝赛尔曲线运动轨迹
- iOS 让物体进行曲线运动
- PathMove - 沿着曲线运动的 demo
- 贝塞尔曲线 --匀速贝塞尔曲线运动的实现
- 匀速贝塞尔曲线运动的实现(转)
- 利用python做简单的图像处理
- Dubbo-Admin管理平台和Zookeeper注册中心的搭建
- RDD和Dataframe
- 配置java运行环境
- Java实践(一)---程序设计基本概念
- 曲线运动PathInterpolator /path
- 由于已经达到 MaxReports 限制,没有写入 apport 报告。
- 子进程的异步等待方式
- 证书操作(openssl、keytool)
- 交叉验证及其用于参数选择、模型选择、特征选择的例子
- PHP伪造post请求
- 关于HttpURLConnection测试servlet
- 2017年6月14日中午 java.io.IOException: Premature EOF
- 第一次||走在最初的路上