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

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

PathInterpolator

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

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,這樣就完成了,不再需要像我們之前做的那樣,通過二階、三階貝塞爾曲線的數學計算公式來進行計算,極大的方便了開發者。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 贡觉县| 横山县| 吉林市| 应用必备| 佛冈县| 呼玛县| 资源县| 蕉岭县| 邯郸县| 龙江县| 吉安县| 兴国县| 莱州市| 河源市| 如皋市| 临猗县| 六枝特区| 五指山市| 依兰县| 旺苍县| 文化| 连平县| 元谋县| 凤阳县| 筠连县| 新河县| 大关县| 隆林| 平泉县| 饶阳县| 马公市| 右玉县| 五家渠市| 论坛| 长武县| 鄄城县| 永登县| 莱西市| 德格县| 阿拉善右旗| 满洲里市|