Android動畫定義知識小結

1動畫涉及到的知識點

Scale動畫

Scale是Android的尺寸縮放動畫,繼承自基類Animation

<?xml version="1.0" encoding="utf-8"?>  
<scale xmlns:android="http://schemas.android.com/apk/res/android"  
    android:fromXScale="0.0"           #起始x尺寸比例  
    android:toXScale="1.4"             #最終x尺寸比例
    android:fromYScale="0.0"           #起始y尺寸比例
    android:toYScale="1.4"             #最終y尺寸比例
    android:pivotX="50%"               #縮放起點x軸座標,取值可以是數值(50)、百分數(50%)、百
                                        分數p(50%p),當取值爲數值時,縮放起點爲View左上角座標
                                        加具體數值像素,當取值爲百分數時,表示在當前View左上角坐
                                        加上View寬度的具體百分比,當取值爲百分數p時,表示在View
                                        左上角座標加上父控件寬度的具體百分比
    android:pivotY="50%"               #同上
    android:duration="700"             #動畫持續時間,毫秒爲單位
    android:fillAfter="true"           #動畫結束後,保持結束時的狀態
    android:fillBefore="true"          #動畫結束後,恢復爲初始狀態
    android:fillEnabled="true"         #效果同上
    android:repeatCount="5"            #重複次數,取值爲-1時無限重複,默認動畫執行一次
    android:repeatMode ="reverse"      #重複模式,有reverse和restart兩個值,前者爲倒序回放,後者爲重新開始
    android::interpolator="@android:anim/accelerate_decelerate_interpolator" #插值器,後面單獨講             
    />

Alpha動畫

Alpha是Andriod透明度漸變動畫,其基類爲Animation類。

<?xml version="1.0" encoding="utf-8"?>
 <alpha
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:fromAlpha="1.0"         #起始透明度,取值範圍0.0--1.0 ,從完全透明到完全不透明
    android:toAlpha="0.1"           #結束透明度,取值範圍同上

    android:duration="700"             #動畫持續時間,毫秒爲單位
    android:fillAfter="true"           #動畫結束後,保持結束時的狀態
    android:fillBefore="true"          #動畫結束後,恢復爲初始狀態
    android:fillEnabled="true"         #效果同上
    android:repeatCount="5"            #重複次數,取值爲-1時無限重複,默認動畫執行一次
    android:repeatMode ="reverse"      #重複模式,有reverse和restart兩個值,前者爲倒序回放,後者爲重新開始
    android::interpolator="@android:anim/accelerate_decelerate_interpolator" #插值器,後面單獨講
    />

Rotate動畫

旋轉動畫,繼承自基類Animaton

<?xml version="1.0" encoding="utf-8"?>
 <rotate xmlns:android="http://schemas.android.com/apk/res/android"
    android:fromDegrees="0"            #初始角度
    android:toDegrees="540"            #結束時角度,值爲正時順時針旋轉,值爲負時逆時針旋轉
    android:pivotX="50%"               #旋轉中心x軸座標,取值可以是數值(50)、百分數(50%)、百
                                        分數p(50%p),當取值爲數值時,縮放起點爲View左上角座標
                                        加具體數值像素,當取值爲百分數時,表示在當前View左上角坐
                                        加上View寬度的具體百分比,當取值爲百分數p時,表示在View
                                        左上角座標加上父控件寬度的具體百分比
    android:pivotY="50%"               #同上

    android:duration="700"             #動畫持續時間,毫秒爲單位
    android:fillAfter="true"           #動畫結束後,保持結束時的狀態
    android:fillBefore="true"          #動畫結束後,恢復爲初始狀態
    android:fillEnabled="true"         #效果同上
    android:repeatCount="5"            #重複次數,取值爲-1時無限重複,默認動畫執行一次
    android:repeatMode ="reverse"      #重複模式,有reverse和restart兩個值,前者爲倒序回放,後者爲重新開始
    android:interpolator="@android:anim/accelerate_decelerate_interpolator" #插值器,後面單獨講             
    />

Translate動畫

顧名思義,Translate動畫就是位移動畫,也是集成自基類Animation。

<?xml version="1.0"  encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
    android:fromXDelta="0"              #起始x軸座標位置
    android:toXDelta="50"               #結束時x軸座標位置
    android:fromYDelta="0"              #起始Y軸座標位置
    android:toYDelta="200"              #結束時Y軸座標位置

    android:duration="700"              #動畫持續時間,毫秒爲單位
    android:fillAfter="true"            #動畫結束後,保持結束時的狀態
    android:fillBefore="true"           #動畫結束後,恢復爲初始狀態
    android:fillEnabled="true"          #效果同上
    android:repeatCount="5"             #重複次數,取值爲-1時無限重複,默認動畫執行一次
    android:repeatMode ="reverse"       #重複模式,有reverse和restart兩個值,前者爲倒序回放,後者爲重新開始
    android::interpolator="@android:anim/accelerate_decelerate_interpolator" #插值器,後面單獨講
    />

Set動畫

set本身沒有什麼新的屬性,但可以讓它們四個動畫同時發揮作用,讓效果變得更加酷炫。

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="700"              #動畫持續時間,毫秒爲單位,set中會覆蓋子動畫該屬性
    android:fillAfter="true"            #動畫結束後,保持結束時的狀態
    android:fillBefore="true"           #動畫結束後,恢復爲初始狀態
    android:fillEnabled="true"          #效果同上
    android:repeatCount="5"             #此屬性無效對於set無效
    android:repeatMode ="reverse"       #重複模式,有reverse和restart兩個值,前者爲倒序回放,後者爲重新開始,set中會覆蓋子動畫該屬性
    android:interpolator="@android:anim/accelerate_decelerate_interpolator" #插值器,後面單獨講
    >
    <alpha
        android:fromAlpha="0.2"
        android:duration="2000"
        android:toAlpha="1.0"/>
    <scale android:fromXScale="0.5"
        android:toXScale="1.5"
        android:fromYScale="0.5"
        android:toYScale="1.5"
        android:pivotX="50%"
        android:duration="5000"
        android:repeatMode="restart"
        android:repeatCount="2"
        android:pivotY="50%"/>
    <rotate

        android:fromDegrees="0"
        android:toDegrees="360"
        android:duration="500"
        android:pivotX="50%"
        android:pivotY="50%"/>
</set>

參考文章
https://blog.csdn.net/wenwen091100304/article/details/53471592

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章