安卓的Tween Animation分為4種動(dòng)畫(huà)效果,分別是:alpha (透明變化) translate(位置移動(dòng)) scale(縮放) rotate(旋轉(zhuǎn)),
關(guān)于安卓的TranslateAnimation的使用
。其中Translate動(dòng)畫(huà)就是定義一個(gè)開(kāi)始的位置和一個(gè)結(jié)束位置,定義移動(dòng)時(shí)間,然后就能自動(dòng)產(chǎn)生移動(dòng)動(dòng)畫(huà),實(shí)現(xiàn)控件的動(dòng)態(tài)位移。Android的translate移動(dòng)方向有 橫向(X) 豎向(Y)
TranslateAnimation(float fromXDelta, float toXDelta, float fromYDelta, float toYDelta)
參數(shù)說(shuō)明如下:
float fromXDelta 動(dòng)畫(huà)開(kāi)始的點(diǎn)離當(dāng)前View X坐標(biāo)上的差值
float toXDelta 動(dòng)畫(huà)結(jié)束的點(diǎn)離當(dāng)前View X坐標(biāo)上的差值
float fromYDelta 動(dòng)畫(huà)開(kāi)始的點(diǎn)離當(dāng)前View Y坐標(biāo)上的差值
float toYDelta 動(dòng)畫(huà)開(kāi)始的點(diǎn)離當(dāng)前View Y坐標(biāo)上的差值
要注意的是參數(shù)fromXDelta指的是開(kāi)始動(dòng)畫(huà)時(shí)的點(diǎn)的X坐標(biāo)相對(duì)于View初始位置時(shí)X坐標(biāo)的偏移量,例如一開(kāi)始設(shè)置View的X坐標(biāo)為3,經(jīng)過(guò)第一次動(dòng)畫(huà)移動(dòng)到X坐標(biāo)為10的位置,當(dāng)進(jìn)行第二次動(dòng)畫(huà)時(shí),參數(shù)fromXDelta指的是第二次動(dòng)畫(huà)開(kāi)始的點(diǎn)的坐標(biāo)相對(duì)于初始位置(X坐標(biāo)為3)的偏移量,而不是相對(duì)于第一次移動(dòng)過(guò)后(X坐標(biāo)為10)的偏移量;Y坐標(biāo)的偏移量也是如此,
電腦資料
《關(guān)于安卓的TranslateAnimation的使用》(http://www.zwdianwu.cn)。如果不注意這點(diǎn),當(dāng)進(jìn)行多次動(dòng)畫(huà)時(shí)將會(huì)發(fā)生錯(cuò)誤移動(dòng)。示例代碼:
Animation animation = new TranslateAnimation(10f,100f,0,0);//平移動(dòng)畫(huà)
animation.setFillAfter(true);//動(dòng)畫(huà)終止時(shí)停留在最后一幀,不然會(huì)回到?jīng)]有執(zhí)行前的狀態(tài)
animation.setDuration(200);//動(dòng)畫(huà)持續(xù)時(shí)間0.2秒
imageview.startAnimation(animation);//是用ImageView來(lái)顯示動(dòng)畫(huà)的