国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

PathInterpolator

2019-11-09 18:02:27
字體:
來源:轉載
供稿:網友

PathInterpolator

在v4 support library:Revision 22.1.0的時候,Google在兼容庫中增加了幾個新的類,用于創建更加真實的動畫效果。

Added the following interpolation classes for animation: FastOutLinearInInterpolator, FastOutSlowInInterpolator, LinearOutSlowInInterpolator, LinearOutSlowInInterpolator, and PathInterpolatorCompat.

從命名我們大致可以看出來,這個實際上就是新增的插值器,但實現了更加真實的動畫效果,了解我之前關于插值器的文章的朋友,應該很清楚,不了解的開發者可以先看下關于插值器的介紹:模擬自然動畫的精髓——https://gold.xitu.io/post/57e33e2cc4c971005f4bf6ff

PathInterpolatorCompat

其它幾個Interpolator非常好理解,實際上在沒有他們之前,我們也可以通過自己來計算函數值來創建這樣的Interpolator,也就是類似——緩進急出、緩出急進這樣的插值器效果。

那么今天我們的主角,就是——PathInterpolatorCompat,他實際上是PathInterpolator的兼容版本,可以兼容到Android的低版本設備。利用PathInterpolatorCompat,我們可以非常方便的創建二階、三階的貝塞爾曲線動畫Interpolator。

官網鎮樓

https://developer.android.com/reference/android/support/v4/view/animation/PathInterpolatorCompat.html

這個類的使用非常簡單,只有一個重載的creat()方法。

Method code
create(Path path) Create an Interpolator for an arbitrary Path.
create(float controlX1, float controlY1, float controlX2, float controlY2) Create an Interpolator for a cubic Bezier curve.
create(float controlX, float controlY) Create an Interpolator for a quadratic Bezier curve.

當然,不僅僅是貝塞爾曲線,實際上只要是Path繪制的曲線,都可以作用在PathInterpolatorCompat上。

OK,有了這個工具,我們就可以很方便的使用它來創建各種插值曲線了,舉個非常簡單的例子:

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();

我們繪制了一個簡單的三階貝塞爾曲線,并作用到PathInterpolatorCompat設置給Animation,這樣就完成了,不再需要像我們之前做的那樣,通過二階、三階貝塞爾曲線的數學計算公式來進行計算,極大的方便了開發者。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 定安县| 临颍县| 漾濞| 北安市| 木兰县| 阜宁县| 曲松县| 宜君县| 政和县| 瑞金市| 苏尼特左旗| 高要市| 葵青区| 翁牛特旗| 吉林市| 扬州市| 廊坊市| 灵石县| 凯里市| 阿拉善右旗| 阳高县| 浦江县| 吉安市| 霍邱县| 平果县| 原平市| 邵东县| 承德市| 东乡族自治县| 韶关市| 临朐县| 杨浦区| 绥宁县| 香港 | 仙居县| 萝北县| 鞍山市| 济源市| 广饶县| 栾城县| 息烽县|