您好,登錄后才能下訂單哦!
安卓的Tween Animation分為4種動畫效果,分別是:alpha (透明變化) translate(位置移動) scale(縮放) rotate(旋轉(zhuǎn))。
其中Translate動畫就是定義一個開始的位置和一個結(jié)束位置,定義移動時間,然后就能自動產(chǎn)生移動動畫,實現(xiàn)控件的動態(tài)位移。Android的translate移動方向有 橫向(X) 豎向(Y)
TranslateAnimation(float fromXDelta, float toXDelta, float fromYDelta, float toYDelta)
參數(shù)說明如下:
float fromXDelta 動畫開始的點離當(dāng)前View X坐標(biāo)上的差值
float toXDelta 動畫結(jié)束的點離當(dāng)前View X坐標(biāo)上的差值
float fromYDelta 動畫開始的點離當(dāng)前View Y坐標(biāo)上的差值
float toYDelta 動畫開始的點離當(dāng)前View Y坐標(biāo)上的差值
要注意的是參數(shù)fromXDelta指的是開始動畫時的點的X坐標(biāo)相對于View初始位置時X坐標(biāo)的偏移量,例如一開始設(shè)置View的X坐標(biāo)為3,經(jīng)過第一次動畫移動到X坐標(biāo)為10的位置,當(dāng)進行第二次動畫時,參數(shù)fromXDelta指的是第二次動畫開始的點的坐標(biāo)相對于初始位置(X坐標(biāo)為3)的偏移量,而不是相對于第一次移動過后(X坐標(biāo)為10)的偏移量;Y坐標(biāo)的偏移量也是如此。如果不注意這點,當(dāng)進行多次動畫時將會發(fā)生錯誤移動。
示例代碼:
Animation animation = new TranslateAnimation(10f,100f,0,0);//平移動畫
animation.setFillAfter(true);//動畫終止時停留在最后一幀,不然會回到?jīng)]有執(zhí)行前的狀態(tài)
animation.setDuration(200);//動畫持續(xù)時間0.2秒
p_w_picpathview.startAnimation(animation);//是用ImageView來顯示動畫的
------有什么疑問大家可以評論交流
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。