Dialog的淡進效果

                                                             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

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