溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

詳談Android動畫效果translate、scale、alpha、rotate

發(fā)布時間:2020-09-09 09:39:20 來源:腳本之家 閱讀:245 作者:jingxian 欄目:移動開發(fā)

動畫類型

Android的animation由四種類型組成

XML中

alpha 漸變透明度動畫效果
scale 漸變尺寸伸縮動畫效果
translate 畫面轉(zhuǎn)換位置移動動畫效果
rotate 畫面轉(zhuǎn)移旋轉(zhuǎn)動畫效果

JavaCode中

AlphaAnimation 漸變透明度動畫效果
ScaleAnimation 漸變尺寸伸縮動畫效果
TranslateAnimation 畫面轉(zhuǎn)換位置移動動畫效果
RotateAnimation 畫面轉(zhuǎn)移旋轉(zhuǎn)動畫效果

Android動畫模式

Animation主要有兩種動畫模式:

一種是tweened animation(漸變動畫)

XML中 JavaCode
alpha AlphaAnimation
scale ScaleAnimation

一種是frame by frame(畫面轉(zhuǎn)換動畫)

XML中 JavaCode
translate TranslateAnimation
rotate RotateAnimation

Android動畫解析

alpha xml 淡出效果

<?xml version="1.0" encoding="utf-8"?>  
<set xmlns:android="http://schemas.android.com/apk/res/android">  
<alpha  
  android:fromAlpha="1.0"   
  android:toAlpha="0.0"   
  android:duration="500" />  
</set>  
<!--   
  fromAlpha:開始時透明度  
  toAlpha: 結(jié)束時透明度  
  duration:動畫持續(xù)時間 --> 

alpha xml 淡入效果

<?xml version="1.0" encoding="utf-8"?>  
<set xmlns:android="http://schemas.android.com/apk/res/android">  
<alpha  
  android:fromAlpha="0.0"   
  android:toAlpha="1.0"   
  android:duration="500" />  
</set>  
<!--   
  fromAlpha:開始時透明度  
  toAlpha: 結(jié)束時透明度  
  duration:動畫持續(xù)時間 --> 

rotate.xml 旋轉(zhuǎn)效果:

<?xml version="1.0" encoding="utf-8"?>  
<set xmlns:android="http://schemas.android.com/apk/res/android">  
<rotate                     
  android:interpolator="@android:anim/accelerate_decelerate_interpolator"  
  android:fromDegrees="300"  
  android:toDegrees="-360"  
  android:pivotX="10%"  
  android:pivotY="100%"  
  android:duration="10000" />  
</set>  
<!--   
 fromDegrees  動畫開始時的角度  
 toDegrees   動畫結(jié)束時物件的旋轉(zhuǎn)角度,正代表順時針   
 pivotX  屬性為動畫相對于物件的X坐標(biāo)的開始位置  
 pivotY  屬性為動畫相對于物件的Y坐標(biāo)的開始位置  -->  

scale.xml 縮放效果:

<?xml version="1.0" encoding="utf-8"?>  
<set xmlns:android="http://schemas.android.com/apk/res/android">  
<scale   
  android:interpolator= "@android:anim/decelerate_interpolator"     
  android:fromXScale="0.0"   
  android:toXScale="1.5"   
  android:fromYScale="0.0"   
  android:toYScale="1.5"   
  android:pivotX="50%"   
  android:pivotY="50%"   
  android:startOffset="0"   
  android:duration="10000"   
  android:repeatCount="1"   
  android:repeatMode="reverse" />  
</set>  
  
<!--   
fromXDelta,fromYDelta    起始時X,Y座標(biāo),屏幕右下角的座標(biāo)是X:320,Y:480  
toXDelta, toYDelta   動畫結(jié)束時X,Y的座標(biāo) --> <!--   
interpolator          指定動畫插入器  
常見的有加速減速插入器     accelerate_decelerate_interpolator  
加速插入器        accelerate_interpolator,  
減速插入器        decelerate_interpolator。  
fromXScale,fromYScale,     動畫開始前X,Y的縮放,0.0為不顯示, 1.0為正常大小  
toXScale,toYScale,     動畫最終縮放的倍數(shù), 1.0為正常大小,大于1.0放大  
pivotX, pivotY     動畫起始位置,相對于屏幕的百分比,兩個都為50%表示動畫從屏幕中間開始  
startOffset,        動畫多次執(zhí)行的間隔時間,如果只執(zhí)行一次,執(zhí)行前會暫停這段時間,  
          單位毫秒 duration,一次動畫效果消耗的時間,單位毫秒,  
          值越小動畫速度越快 repeatCount,動畫重復(fù)的計數(shù),動畫將會執(zhí)行該值+1次  
          repeatMode,動畫重復(fù)的模式,reverse為反向,當(dāng)?shù)谂即螆?zhí)行時,動畫方向會相反。  
          restart為重新執(zhí)行,方向不變 --> 

translate.xml 移動效果:

<?xml version="1.0" encoding="utf-8"?>  
<set xmlns:android="http://schemas.android.com/apk/res/android">  
<translate  
  android:fromXDelta="320"  
  android:toXDelta="0"  
  android:fromYDelta="480"  
  android:toYDelta="0"  
  android:duration="10000" />  
</set>  
<!--   
fromXDelta,fromYDelta  起始時X,Y座標(biāo),屏幕右下角的座標(biāo)是X:320,Y:480  
toXDelta, toYDelta   動畫結(jié)束時X,Y的座標(biāo) --> 

以上這篇詳談Android動畫效果translate、scale、alpha、rotate就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持億速云。

向AI問一下細(xì)節(jié)

免責(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)容。

AI