Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> android矢量動畫

android矢量動畫

編輯:關於Android編程

android矢量動畫!直接來個例子就明白了!(這裡我把與動畫無關的屬性都用…表示)

首先你要有個矢量圖
比如這個矢量圖xml文件叫”vector1”,文件在res\drawable文件夾中


    
        
    

這上面的除了name屬性,其他的都可以用屬性動畫來控制!


既然有了這些可以作為動畫的屬性,那麼我們就來個屬性動畫吧!

比如這個動畫文件叫”objectAnimator1”,注意如果使用的android studio這個文件需要在res\animator文件夾中創建



// 有了apple和pen那麼就有applePen了!(大霧)

有了矢量圖,有了動畫,那麼組合起來就有矢量動畫了!

舉個例子:
這個文件放在res\drawable文件夾中,比如名字就叫做”av1”

   //這個drawable是初始的時候顯示的內容
        
    

注意!!!!
1. 如果name指定了group,則objectAnimator中propertyName指定的屬性必須是group的屬性,不能是path的屬性!
2. 如果name指定的是path,則objectAnimator中propertyName指定的屬性必須是path的屬性,不能是group的屬性!


最後再把這個帶有動畫效果的drawable設置到ImageView中去

但是怎麼觸發動畫呢????

@BindView(R.id.iv_at_1)
ImageView iv_at_1;

Drawable d = iv_at_1.getDrawable(); //直接從ImageView中獲取drawable
if (d instanceof Animatable) {  //如果這個drawable是可以Animatable的實現類
    ((Animatable) d).start();   //調用start()就開始播放動畫了!!
}

還有很多其他的用法,看大家的思維有多開拓了


注意!!!!
- 如果propertyName選擇了pathData, 則android:valueFrom=xxxx” android:valueTo=”xxxx” 中需要填入的就是pathData的值
例如:

android:propertyName="pathData"
    android:valueType="pathType"
    android:valueFrom="M50,0 L50,0 L100,100 L0,100 z"
    android:valueTo = "M0,0 L100,0 L50,100 L50,100 z"

其中需要特別注意的是, valueFrom和valueTo中的每個操作符都要一一對應,而且數量一樣,不然會拋異常!!!

在使用第三方SVG生成器生成的SVG圖片的時候不要復制過來就用了,還要檢查下裡面的操作符,不然呵呵,有你受的

沒有圖片不幸福
看看效果:

path動畫

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved