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

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

自定義控件三部曲之動(dòng)畫(huà)篇(二)——Interpolator插值器

2019-11-06 09:37:54
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

轉(zhuǎn):自定義控件三部曲之動(dòng)畫(huà)篇(二)——Interpolator插值器

前言:雖然我不太能欣賞的了帕爾哈提的音樂(lè),但我確實(shí)很欣賞他的人生態(tài)度,專心做自己,不想名利得失,有一天,你想要的東西都會(huì)來(lái)。其實(shí)我覺(jué)得,人生最可怕的就是停止不前,只要一直前行,總有一天會(huì)到達(dá)人生巔峰。

相關(guān)文章:

《Android自定義控件三部曲文章索引》

一、概述

Interpolator屬性是Animation類的一個(gè)xml屬性,所以alpha、scale、rotate、translate、set都會(huì)繼承得到這個(gè)屬性。Interpolator被譯為插值器,其實(shí)我不大能從字面上理解為什么會(huì)這樣譯,其實(shí)他是一個(gè)指定動(dòng)畫(huà)如何變化的東東,跟PS里的動(dòng)作有點(diǎn)類似:隨便拿來(lái)一張圖片,應(yīng)用一個(gè)動(dòng)作,圖片就會(huì)指定變化。

Interpolator的系統(tǒng)值有下面幾個(gè):

意義如下:

AccelerateDecelerateInterpolator   在動(dòng)畫(huà)開(kāi)始與介紹的地方速率改變比較慢,在中間的時(shí)候加速AccelerateInterpolator                     在動(dòng)畫(huà)開(kāi)始的地方速率改變比較慢,然后開(kāi)始加速AnticipateInterpolator                      開(kāi)始的時(shí)候向后然后向前甩AnticipateOvershootInterpolator     開(kāi)始的時(shí)候向后然后向前甩一定值后返回最后的值BounceInterpolator                          動(dòng)畫(huà)結(jié)束的時(shí)候彈起CycleInterpolator                             動(dòng)畫(huà)循環(huán)播放特定的次數(shù),速率改變沿著正弦曲線DecelerateInterpolator                    在動(dòng)畫(huà)開(kāi)始的地方快然后慢LinearInterpolator                            以常量速率改變OvershootInterpolator                      向前甩一定值后再回到原來(lái)位置下面看看各個(gè)標(biāo)簽在應(yīng)用上面的每個(gè)插值器后會(huì)運(yùn)動(dòng)軌跡會(huì)怎樣。

二、scale標(biāo)簽

下面先看看Scale標(biāo)簽應(yīng)用插值器后,都會(huì)變成什么樣。

先看下XML代碼:(從控件中心點(diǎn),從0放大到1.4倍,保持結(jié)束時(shí)的狀態(tài))

[html] view plain copy 在CODE上查看代碼片<?xml version="1.0" encoding="utf-8"?>  <scale xmlns:android="http://schemas.android.com/apk/res/android"      android:interpolator="@android:anim/accelerate_decelerate_interpolator"      android:fromXScale="0.0"      android:toXScale="1.4"      android:fromYScale="0.0"      android:toYScale="1.4"      android:pivotX="50%"      android:pivotY="50%"      android:duration="700"       android:fillAfter="true"  />  下面一個(gè)個(gè)看看,每個(gè)xml值對(duì)應(yīng)的scale動(dòng)畫(huà)是怎樣的。

                   AccelerateInterpolator                                                 DecelerateInterpolator                    

在動(dòng)畫(huà)開(kāi)始的地方速率改變比較慢,然后開(kāi)始加速                   在動(dòng)畫(huà)開(kāi)始的地方快然后慢

     

            AnticipateInterpolator                                            AnticipateOvershootInterpolator 

      開(kāi)始的時(shí)候向后然后向前甩                                開(kāi)始的時(shí)候向后然后向前甩一定值后返回最后的值

   

             BounceInterpolator                                                      CycleInterpolator       

            動(dòng)畫(huà)結(jié)束的時(shí)候彈起                             動(dòng)畫(huà)循環(huán)播放特定的次數(shù),速率改變沿著正弦曲線

   

                        LinearInterpolator                                  OvershootInterpolator  

                      以常量速率改變                                向前甩一定值后再回到原來(lái)位置

   

三、rotate標(biāo)簽

下面先看看rotate標(biāo)簽應(yīng)用插值器后,都會(huì)變成什么樣。

先看下XML代碼:(從控件中心點(diǎn),從0放大到1.4倍,保持結(jié)束時(shí)的狀態(tài))

[html] view plain copy 在CODE上查看代碼片<?xml version="1.0" encoding="utf-8"?>  <rotate xmlns:android="http://schemas.android.com/apk/res/android"      android:interpolator="@android:anim/accelerate_decelerate_interpolator"      android:fromDegrees="0"      android:toDegrees="360"      android:pivotX="50%"      android:pivotY="50%"      android:duration="700"       android:fillAfter="true"  />  AccelerateDecelerateInterpolator%20 %20在動(dòng)畫(huà)開(kāi)始與介紹的地方速率改變比較慢,在中間的時(shí)候加速

                   AccelerateInterpolator                                                 DecelerateInterpolator                    

在動(dòng)畫(huà)開(kāi)始的地方速率改變比較慢,然后開(kāi)始加速                   在動(dòng)畫(huà)開(kāi)始的地方快然后慢

      

            AnticipateInterpolator                                            AnticipateOvershootInterpolator 

      開(kāi)始的時(shí)候向后然后向前甩                                開(kāi)始的時(shí)候向后然后向前甩一定值后返回最后的值

   

             BounceInterpolator                                                      CycleInterpolator       

            動(dòng)畫(huà)結(jié)束的時(shí)候彈起                             動(dòng)畫(huà)循環(huán)播放特定的次數(shù),速率改變沿著正弦曲線

   

                        LinearInterpolator                                  OvershootInterpolator  

                      以常量速率改變                                向前甩一定值后再回到原來(lái)位置

   

四、alpha標(biāo)簽

下面先看看alpha標(biāo)簽應(yīng)用插值器后,都會(huì)變成什么樣。

將透明度從0變成1.0,使用不同的插值器看看有什么不同(因?yàn)橹皇峭该鞫鹊淖兓曰究床怀鰜?lái)有什么不同)[html] view plain copy 在CODE上查看代碼片<?xml version="1.0" encoding="utf-8"?>  <alpha xmlns:android="http://schemas.android.com/apk/res/android"      android:interpolator="@android:anim/accelerate_decelerate_interpolator"      android:fromAlpha="0.0"      android:toAlpha="1.0"      android:duration="3000"       android:fillAfter="true"  />  AccelerateDecelerateInterpolator%20 %20在動(dòng)畫(huà)開(kāi)始與介紹的地方速率改變比較慢,在中間的時(shí)候加速

                   AccelerateInterpolator                                                 DecelerateInterpolator                    

在動(dòng)畫(huà)開(kāi)始的地方速率改變比較慢,然后開(kāi)始加速                   在動(dòng)畫(huà)開(kāi)始的地方快然后慢

   

            AnticipateInterpolator                                            AnticipateOvershootInterpolator 

      開(kāi)始的時(shí)候向后然后向前甩                                開(kāi)始的時(shí)候向后然后向前甩一定值后返回最后的值

   

             BounceInterpolator                                                      CycleInterpolator       

            動(dòng)畫(huà)結(jié)束的時(shí)候彈起                             動(dòng)畫(huà)循環(huán)播放特定的次數(shù),速率改變沿著正弦曲線

   

                        LinearInterpolator                                   OvershootInterpolator  

                      以常量速率改變                                 向前甩一定值后再回到原來(lái)位置

   

五、translate標(biāo)簽

下面先看看translate標(biāo)簽應(yīng)用插值器后,都會(huì)變成什么樣。

把控件從(0,0)平移到(-200,-200)的位置,保持結(jié)束時(shí)狀態(tài)不變,使用不同插值器。[html] view plain copy 在CODE上查看代碼片<?xml version="1.0" encoding="utf-8"?>  <translate xmlns:android="http://schemas.android.com/apk/res/android"      android:interpolator="@android:anim/accelerate_decelerate_interpolator"      android:fromXDelta="0"         android:toXDelta="-200"        android:fromYDelta="0"        android:toYDelta="-200"        android:duration="2000"        android:fillAfter="true"  />  

AccelerateDecelerateInterpolator%20 %20在動(dòng)畫(huà)開(kāi)始與介紹的地方速率改變比較慢,在中間的時(shí)候加速

                   AccelerateInterpolator                                                 DecelerateInterpolator                    

在動(dòng)畫(huà)開(kāi)始的地方速率改變比較慢,然后開(kāi)始加速                   在動(dòng)畫(huà)開(kāi)始的地方快然后慢

   

            AnticipateInterpolator                                            AnticipateOvershootInterpolator 

      開(kāi)始的時(shí)候向后然后向前甩                                開(kāi)始的時(shí)候向后然后向前甩一定值后返回最后的值

   

             BounceInterpolator                                                      CycleInterpolator       

            動(dòng)畫(huà)結(jié)束的時(shí)候彈起                             動(dòng)畫(huà)循環(huán)播放特定的次數(shù),速率改變沿著正弦曲線

   

                        LinearInterpolator                                  OvershootInterpolator  

                      以常量速率改變                                向前甩一定值后再回到原來(lái)位置

   

這篇文章到這就結(jié)束了,因?yàn)閯?dòng)畫(huà)比較多,可能看的會(huì)有點(diǎn)暈,下面我會(huì)給出上面效果所對(duì)應(yīng)的源碼,大家可以運(yùn)行一下。

如果我的文章能幫到您,請(qǐng)加關(guān)注,謝謝。

源碼下載地址:http://download.csdn.net/detail/harvic880925/8038491

請(qǐng)大家尊重原創(chuàng)者版權(quán),轉(zhuǎn)載請(qǐng)標(biāo)明出處:http://blog.csdn.net/harvic880925/article/details/40049763 謝謝!


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 昌宁县| 鲁山县| 沈丘县| 新郑市| 漯河市| 牡丹江市| 武清区| 丰台区| 晋城| 南靖县| 宁武县| 运城市| 肇源县| 巢湖市| 延津县| 雷州市| 咸宁市| 洮南市| 龙游县| 裕民县| 泾阳县| 沙坪坝区| 潍坊市| 苍溪县| 陆河县| 白朗县| 高阳县| 侯马市| 密山市| 新安县| 夹江县| 鄂州市| 湖北省| 平江县| 大丰市| 白沙| 公安县| 宜宾市| 田林县| 板桥市| 石泉县|