定義Window進入和退出效果

2021-06-18 21:24:57 字數 971 閱讀 1594

看了android的源**和資源檔案,終於明白如何去修改設定dialog和activity的進入和退出效果了。設定dialog首先通過getwindow()方法獲取它的視窗,然後通過getattributes()方法獲得window的windowmanager.layoutparams lp, lp有個公共屬性windowanimations, 只要把要實現的animation的id賦值給它就可以了。問題是這個animation應該怎麼寫呢,研究發現,視窗進入和退出的效果分別是通過@android:windowenteranimation和@android:windowexitanimation兩個item設定的,比如進入時的anim是@anim/dialog_enter, 退出的是@anim/dialog_exit, 則宣告乙個style為:

然後把這個style的id傳給lp.windowanimations就行了。

activity的進入和退出效果可以通過@android:activityopenenteranimation,@android:activityopenexitanimation,@android:activitycloseenteranimation,@android:activitycloseexitanimation這幾個item設定,第乙個表示新的activity建立進入效果,第2個表示activity還沒有finish()下退出效果,第3個表示上乙個activity返回進入效果,第4個表示的是activity finish()之後退出效果...(好似有點亂了)。具體設定參考如下:

然後把mytheme這個style作為activity的theme就行了,還有乙個辦法就是通過acitvity獲取它的window, 然後和設定dialog一樣進行設定,因為歸根到底是設定window的layoutparams裡的windowanimations值。所以activity的進入和退出效果也可以通過@android:windowenteranimation和@android:windowexitanimation這兩個item設定。

Vim進入和退出命令

本來不想寫任何關於vim的文章的,無奈我今天又忘記怎麼退出vim了,常用命令是esc,然後 wq 儲存並退出 q 不儲存並強制退出 i進入vim模式。另外還有其它的,我可能都不會用到。按esc鍵 跳到命令模式,然後 w 儲存檔案但不退出vi w file 將修改另外儲存到file中,不退出vi w ...

視窗進入退出的 簡單滑動動畫效果

最開始想到的是把建立的視窗隱藏起來,然後呼叫animatewindow。但是因為基礎知識不夠,找不到適合呼叫的地方。如果視窗還沒建立完成,呼叫animatewindow就會失敗,但是什麼時候視窗建立成功呢?視窗建立完成後的第一次呼叫最終使用用了setwindowpos來實現了功能。1 首先建立的視窗...

Docker 退出容器和進入容器

執行容器 docker run it 映象名 bin bash 退出容器 exit 或者ctrl p q 檢視容器 docker ps a 檢視執行的容器 docker ps 重啟容器 docker restart 容器id 重啟容器後進入互動式 docker start i 5c6ce895b97...