2017年2月26日 星期日

Animations

Animations 

Animations:動畫。


Tween Animation(補間動畫):動畫參數有開始時間、結束時間、持續時間和旋轉角度...等。

  系統啟動動畫:
 Animation animation=AnimationUtils.loadAnimation(getApplicationContext(),R.anim.move);

必須在建一個anim的資料夾,放入繪動畫的xml檔案
例如:你想 移動 元件,在anim新建move.xml放入參數就可以移動。
        res/anim/move.xml

Animations的方法(放在.java裡面)

   start():開始動畫。

     setDuration(long duration):設置動畫持續時間。

    getDuration()取得動畫持續時間。

    end():結束動畫。

      為了讓此動畫應用到物件,我們只是調用該物件的startAnimation()方法。

      ImageView image1 = (ImageView)findViewById(R.id.imageView1);

image.startAnimation(animation);

要讓元件放大縮小的屬性:<scale>寫在xml


   fromXScale動畫開始時,x座標上的伸縮尺寸。

   toXScale動畫結束時,x座標上的伸縮尺寸。
   
   fromYScale:動畫開始時,y座標上的伸縮尺寸。

  toYScale:動畫結束時,y座標上的伸縮尺寸。

   以上四個屬性:0.0伸縮到無、1.0正常無伸縮、值<1.0
 收縮、值>1.0放大  

   duration:表示動畫的持續時間。單位:毫秒。

   pivotX:動畫相對x座標的起始位置。

   pivotY:動畫相對y座標的起始位置。

   以上兩個屬性,值可以是數字、幾%或是幾%p
              值是50%,父類別50%,自己50%。
                         
    startOffset:設置動畫開始時間。單位:毫秒。
  例如  androidstartOffset="5000",代表5000毫秒開始動畫。
   
      fillAfter:如為true,動畫結束之後,保持動畫結束的狀態。

      fillBefore:如為true,動畫結束之後,還原到開始動畫前的狀態。


 

要讓元件順時針轉的屬性:<rotate>寫在xml

     fromDegrees:表示動畫開始時的角度。正值:順時針。負值:逆時針。
    
     toDegrees:屬性工作表示動畫結束時旋轉的角度,可以大於360度。正值:順時針。負值:逆時針。

    pivotX:動畫相對x座標的起始位置。

    pivotY:動畫相對y座標的起始位置。

    duration:表示動畫縮放的持續時間。單位:毫秒。

    startOffset:設置動畫縮放開始時間。單位:毫秒。
  例如  androidstartOffset="5000",代表5000毫秒開始動畫。



要讓元件漸漸退色的屬性:<alpha>寫在xml 

    fromAlpha:動畫開始的透明度。0.0~1.0之間。

    toAlpha:動畫結束的透明度。0.0~1.0之間。
      以上兩個屬性,0.0是全透明,1.0是不透明。

    duration:表示動畫透明到不透明的持續時間。單位:毫秒。

   startOffset:設置動畫透明度開始時間。單位:毫秒。
  例如  androidstartOffset="5000",代表5000毫秒開始動畫。



要讓元件閃一下的屬性:<alpha>寫在xml 

    fromAlpha:動畫開始的透明度。0.0~1.0之間。

    toAlpha:動畫結束的透明度。0.0~1.0之間。
   以上兩個屬性,0.0是全透明,1.0是不透明。

   Interpolator動畫插入器(加速、減速插入器)。
更多Interpolator請看以下
https://read01.com/yOE2K.html
    AccelerateInterpolator 在動畫開始的地方速率改變比較慢,然後開始加速。
 
  duration:表示動畫透明到不透明的持續時間。單位:毫秒。

   repeatMode動畫重複次數。
    它有兩個值
        1. restart:動畫每次執行完,就會重新執行。透明到不透明恢復速度較快。
        2. reverse:動畫每次執行完,不會重新執行,直接繼續執行。透明到不透明恢復速度較慢。

    repeatCount順序重複/倒序重複。值是Infinite:無窮重複。默認:0




要讓元件移動的屬性:< translate>寫在xml 

    fromXDelta:動畫開始的點離當前View X坐標上的差值。單位:%p、%、數值

   toXDelta:動畫結束的點離當前View X坐標上的差值。單位:%p、%、數值

 

   duration:表示動畫移動的持續時間。單位:毫秒。




要讓元件滑過的屬性:< scale>寫在xml

  duration:表示動畫滑過的持續時間。單位:毫秒。

   fromXScale:動畫開始時,x座標上的伸縮尺寸。

  toXScale:動畫結束時,x座標上的伸縮尺寸。

  fromYScale:動畫開始時,y座標上的伸縮尺寸。

  toYScale:動畫結束時,y座標上的伸縮尺寸。

  Interpolator動畫插入器(加速、減速插入器)。
更多Interpolator請看以下網址https://read01.com/yOE2K.html
     
   LinearInterpolator 以常量速率改變。

參考文獻


Android - Animations

Android動畫教程


Android動畫效果之Tween Animation(補間動畫)

Android動畫學習——Tween Animation

[教學]Android Animation () Property Animation(start)

Android學習筆記14Tween Animation動畫的實現

Adobe Animate 說明 / 如何建立移動補間動畫

[擒猿筆記篇] Android 動畫神器:Property Animation

Animation


Android Animation(動畫)實例

Android中實現圖片及動畫的縮放和旋轉(轉)( fromXScale)

Android Animation学习笔记


animation.setFillAfter(true);//讓動畫結束的是時候保持現狀,不會回到動畫開始的顯示狀態

Android amimation @ 狼翔天地

Android基礎動畫

Animation 詳解(interpolator)

android之tween動畫詳解- 壹讀 (repeatMode)

Android 之Animation动画(三)之 Property Animation的XML属性和使用示例(repeatCount)

TranslateAnimation動畫(fromXDelta)

Android動畫之Translate(fromXDelta)

Animation動畫詳解——Interpolator插值器

Android 動畫 Interpolator插值器

動畫插值器Interpolation




沒有留言:

張貼留言