Android基礎 淡入淡出、上下彈出動畫的

smartsean發表於2017-12-20

今天想到了自己畢業設計時候做的app,裡面主頁上面的搜尋框用到了一個PopupWindow來實現,我就琢磨這在給他加上一個動畫,當時真的是什麼都不懂,囫圇吞棗的就拿來用了,現在又大概找了兩種動畫效果來實現,現在記錄下。

一、淡入、淡出動畫

  1. 在res檔案下面建立一個叫anim的資料夾。

  2. 在anim檔案下面建立兩個xml檔案,分別為:

    • push_bottom_in.xml(淡入效果)
    <?xml version="1.0" encoding="utf-8"?>
    <set xmlns:android="http://schemas.android.com/apk/res/android" >
    
        <alpha
            android:duration="200"
            android:fromAlpha="0.0"
            android:toAlpha="1.0" />
    
    </set>
    複製程式碼
    • push_bottom_out.xml(淡出效果)
    <?xml version="1.0" encoding="utf-8"?>
    <set xmlns:android="http://schemas.android.com/apk/res/android" >
        <alpha
            android:duration="200"
            android:fromAlpha="1.0"
            android:toAlpha="0.0" />
    </set>
    複製程式碼

引數解釋: - duration設定完成動畫需要的時間 - fromAlpha動畫開始時的透明度 - toAlpha動畫結束時候的透明度

  1. 在res資料夾下面的values資料夾下面的styles.xml裡面加入以下程式碼:
 <style name="AnimBottom" parent="@android:style/Animation">
        <item name="android:windowEnterAnimation">@anim/push_bottom_in</item>
        <item name="android:windowExitAnimation">@anim/push_bottom_out</item>
 </style>
複製程式碼

AnimBottom就是該動畫的名字,在需要設定的地方直接呼叫R.style.AnimBottom就可以使用該動畫了。

二、彈出動畫

步驟和上面的一樣, anim下面:

  • inuptodown.xml(彈入)
<?xml version="1.0" encoding="UTF-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >
    <translate
        android:duration="500"
        android:fromYDelta="-100%"
        android:toYDelta="0" />
</set>
複製程式碼
  • outdowntoup.xml(彈出)
<?xml version="1.0" encoding="UTF-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >
    <translate
        android:duration="500"
        android:fromYDelta="0"
        android:toYDelta="-100%" />
</set>
複製程式碼

styles.xml中:

 <style name="AnimationFade">
        <item name="android:windowEnterAnimation">@anim/inuptodown</item>
        <item name="android:windowExitAnimation">@anim/outdowntoup</item>
    </style>
複製程式碼

使用的話和上面的是一樣的。

你可以通過以下方式關注我:

  1. CSDN
  2. 掘金
  3. 個人部落格
  4. Github

相關文章