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