通過WindowManager添加view以及添加動畫

//
mWm = (WindowManager) getSystemService(Context.WINDOW_SERVICE);

WindowManager.LayoutParams params = new WindowManager.LayoutParams();
        params.height = WindowManager.LayoutParams.WRAP_CONTENT;
        params.width = WindowManager.LayoutParams.MATCH_PARENT;
        params.format = PixelFormat.TRANSLUCENT;
        params.type = WindowManager.LayoutParams.TYPE_TOAST;

 params.flags = WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON
                | 
// 表示window不需要獲取焦點,也不需要接收各種輸入事件            WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE
                | WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE;
params.gravity = Gravity.TOP;
//添加動畫
params.windowAnimations = R.style.notice_dialog_anim_bottom2top;

下面是加載動畫的一個資源文件

<style name="notice_dialog_anim_bottom2top">
        <item name="android:windowEnterAnimation">@anim/notice_dialog_anim_top2bottom_in</item>
        <item name="android:windowExitAnimation">@anim/notice_dialog_anim_top2bottom_out</item>
    </style>

notice_dialog_anim_top2bottom_in

<translate xmlns:android="http://schemas.android.com/apk/res/android"
           android:duration="1000"
           android:fromXDelta="0"
           android:fromYDelta="-100%"
           android:toXDelta="0"
           android:toYDelta="0">

</translate>

notice_dialog_anim_top2bottom_out

<translate xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="1000"
    android:fromYDelta="0"
    android:fromXDelta="0"
    android:toXDelta="0"
    android:toYDelta="-100%" >

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