Dialog 的淡進效果
應用場景之一:
Dilaog顯示後要顯示一些數據,而這些數據可能來自緩存、本地文件或者網絡,需要一定的加載時間,大概3秒左右,這個時候我們就可以加一個淡進的效果,增強體驗感。剛纔說的那個加載時間不能太長,你想想,如果一個淡進過程超過4秒,這體驗就不完美了。
實現步驟:
1) 在res/anim目錄下創建dialog_in_animator,內容如下:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<alpha xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="1800"
android:fromAlpha="0.0"
android:toAlpha="1.0" />
</set>
這裏的意思是從完全透明到完全不透明的時間長爲1800毫秒。
2) 在Dialog類裏定義一個Animation變量Animation anim_in,並在它的構造函數裏賦值:
anim_in = AnimationUtils.loadAnimation(mContext, R.anim.epg_dialog_in);
3) 在Dialog的show函數裏啓動淡進效果:
View dialog_root = ((ViewGroup) getWindow().getDecorView().getRootView()).getChildAt(0);
if (anim_in != null) {
dialog_root.startAnimation(anim_in);
}
The End