PathInterpolator

PathInterpolator

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

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

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

PathInterpolatorCompat

其它幾個Interpolator非常好理解,實際上在沒有他們之前颜武,我們也可以通過自己來計算函數(shù)值來創(chuàng)建這樣的Interpolator璃搜,也就是類似——緩進(jìn)急出、緩出急進(jìn)這樣的插值器效果鳞上。

那么今天我們的主角这吻,就是——PathInterpolatorCompat,他實際上是PathInterpolator的兼容版本篙议,可以兼容到Android的低版本設(shè)備唾糯。利用PathInterpolatorCompat,我們可以非常方便的創(chuàng)建二階鬼贱、三階的貝塞爾曲線動畫Interpolator移怯。

官網(wǎng)鎮(zhèn)樓

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.

當(dāng)然舟误,不僅僅是貝塞爾曲線,實際上只要是Path繪制的曲線雁佳,都可以作用在PathInterpolatorCompat上脐帝。

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

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設(shè)置給Animation星澳,這樣就完成了疚顷,不再需要像我們之前做的那樣,通過二階禁偎、三階貝塞爾曲線的數(shù)學(xué)計算公式來進(jìn)行計算腿堤,極大的方便了開發(fā)者。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末如暖,一起剝皮案震驚了整個濱河市笆檀,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌盒至,老刑警劉巖酗洒,帶你破解...
    沈念sama閱讀 206,126評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異枷遂,居然都是意外死亡樱衷,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評論 2 382
  • 文/潘曉璐 我一進(jìn)店門酒唉,熙熙樓的掌柜王于貴愁眉苦臉地迎上來矩桂,“玉大人,你說我怎么就攤上這事痪伦≈读瘢” “怎么了?”我有些...
    開封第一講書人閱讀 152,445評論 0 341
  • 文/不壞的土叔 我叫張陵网沾,是天一觀的道長牲蜀。 經(jīng)常有香客問我,道長绅这,這世上最難降的妖魔是什么涣达? 我笑而不...
    開封第一講書人閱讀 55,185評論 1 278
  • 正文 為了忘掉前任,我火速辦了婚禮证薇,結(jié)果婚禮上度苔,老公的妹妹穿的比我還像新娘。我一直安慰自己浑度,他們只是感情好寇窑,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,178評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著箩张,像睡著了一般甩骏。 火紅的嫁衣襯著肌膚如雪窗市。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 48,970評論 1 284
  • 那天饮笛,我揣著相機(jī)與錄音咨察,去河邊找鬼。 笑死福青,一個胖子當(dāng)著我的面吹牛摄狱,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播无午,決...
    沈念sama閱讀 38,276評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼媒役,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了宪迟?” 一聲冷哼從身側(cè)響起酣衷,我...
    開封第一講書人閱讀 36,927評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎次泽,沒想到半個月后鸥诽,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,400評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡箕憾,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,883評論 2 323
  • 正文 我和宋清朗相戀三年牡借,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片袭异。...
    茶點(diǎn)故事閱讀 37,997評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡钠龙,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出御铃,到底是詐尸還是另有隱情碴里,我是刑警寧澤,帶...
    沈念sama閱讀 33,646評論 4 322
  • 正文 年R本政府宣布上真,位于F島的核電站咬腋,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏睡互。R本人自食惡果不足惜根竿,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,213評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望就珠。 院中可真熱鬧寇壳,春花似錦、人聲如沸妻怎。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽逼侦。三九已至匿辩,卻和暖如春腰耙,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背铲球。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評論 1 260
  • 我被黑心中介騙來泰國打工挺庞, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人睬辐。 一個月前我還...
    沈念sama閱讀 45,423評論 2 352
  • 正文 我出身青樓挠阁,卻偏偏與公主長得像宾肺,于是被迫代替她去往敵國和親溯饵。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,722評論 2 345

推薦閱讀更多精彩內(nèi)容