Android 向量動畫的使用

2021-09-30 01:19:16 字數 2769 閱讀 9757

阿里圖示庫

drawable->new->vector-asset->loacl file->path 

首先捋清關係~

如果我們想要控制 svg的 繪製,或者給他加一些動畫效果

只有 乙個path

需要給path  加乙個name

需要在drawable 下建立animated-vector 

<?xml version="1.0" encoding="utf-8"?>

需要 srccompat 引用

換乙個動畫

然後是 圖形變換

首先是來個svg

乙個瓶子 乙個贊 都是只有乙個path

現在想讓 瓶子變成 贊

瓶子的svg 需要檢查一下

因為圖形變化需要明確劃分group

這裡的playgroup  和 play 需要自己起上   也是乙個 playgroup 代表在這個容器裡 進行 變化 ,play 表示需要變化的 path

也就是 我們把 瓶子 的 path  變換 成 贊 的path

突然轉回來 發現 這些svg 需要特定的 轉換才可以 

我找了 倆個 差不多的 svg圖 總之他倆可以,然後開始轉換

首先是r.drawable.xin_to_tuite

<?xml version="1.0" encoding="utf-8"?>

svg_xin

r.anim_anim_xin_to_tuite

r.anim_anim_rotation

執行

現在讓他可以控制狀態

<?xml version="1.0" encoding="utf-8"?>

final imageview iv2 = findviewbyid(r.id.iv2);

iv2.setonclicklistener(new view.onclicklistener() ;

iv2.setimagestate(stateset, true);

}});

就是把上面的反過來.

現在感覺還可以 ,研究一下為啥會報錯  can't morph from

這個

於是乎找到了 別人的記錄

然後順著填進去

感覺有點大

動畫不好?

原來這裡沒有動畫

那手動加上去

分別對他們進行修改新增

vectalign_animated_vector_drawable_end_to_start.xml

vectalign_animated_vector_drawable_start_to_end.xml

vectalign_vector_drawable_end.xml

vectalign_vector_drawable_start.xml

pivot 代表動畫的中心  這裡viewportheight/2  就可以了

Android動畫使用

android動畫基本上分為兩個時代,乙個是3.0 api14 之前的animation動畫,乙個是3.0之後的animator動畫。採用animatorset和objectanimator配合,使用objectanimator進行更精細化控制,並且能夠自動驅動,多個objectanimator組合...

android動畫的簡單使用(一)

alphaanimation 透明度動畫 fromalpha 動畫起始時的透明度 toalpha 動畫終止時的透明度 0.0表示完全透明 1.0表示完全不透明 使漸變顯示 animation alpha newalphaanimation 0.1f,1f alpha.setduration 5000...

Android補間動畫使用

列表內容 補間動畫是一種設定動畫開始狀態 結束狀態,其中間的變化由系統計算補充。這也是他叫做補間動畫的原因。補間動畫由animation類來實現具體效果,包括平移 translateanimation 縮放 scaleanimation 旋轉 rotateanimation 透明度 alphaani...