在android中Dialog是我們常用的控制之一,經(jīng)常來(lái)做一些提示相關(guān)的工作 ,Google為了方便開(kāi)發(fā)者,也給我們提供了很多Dialog相關(guān)的定制化方法,也能在github上找到許多找到很多樣式各異的Dialog。
但是在平常的開(kāi)發(fā)中有時(shí)我們也需要簡(jiǎn)單的了解一下他的“生命周期”當(dāng)然這里的生命周期只是我的個(gè)人統(tǒng)稱,通常一個(gè)Dialog的簡(jiǎn)單一生是,create ->show ->dismiss 就這樣終結(jié)了
下面試一個(gè)簡(jiǎn)單的Dialog的使用:

有些時(shí)候我們需要在Dialog的一些方法中處理一些事情,我最近就有一個(gè)類似的需求,在Dialog消失的時(shí)候處理一些相關(guān)的事情,但是又不能強(qiáng)迫用戶非要去單擊你的確認(rèn)或者取消按鈕,于是就只能通過(guò)監(jiān)聽(tīng)Dialog消失時(shí)所走的一些方法,因?yàn)镈ialog消失有很多種情況,但是又怎么保證你寫的方法一定會(huì)在Dialog消失時(shí)執(zhí)行哪,于是就各種嘗試,最后發(fā)現(xiàn)不管你怎么把Dialog弄消失,最后都會(huì)執(zhí)行onDismissListener的監(jiān)聽(tīng)方法
情況一:?jiǎn)螕舴祷劓I或單擊屏幕其他地方時(shí),Dialog會(huì)執(zhí)行onCancel ->onDismiss
情況二:?jiǎn)螕鬌ialog上的按鈕:Dialog會(huì)直接執(zhí)行onDismiss的監(jiān)聽(tīng)方法
當(dāng)然進(jìn)程被殺掉這是一種特殊情況下
以上只是Dialog的簡(jiǎn)單解釋,Dialog還有博大精深的需要自己慢慢挖掘,當(dāng)然有時(shí)候我們也可以把一個(gè)Activity當(dāng)做Dialog來(lái)使用,只需要我們寫好相關(guān)的布局樣式,然后給這個(gè)Activity設(shè)置自己的主題樣式,主要就是android:backgroundDimAmount 的設(shè)置和android:windowBackground以及android:windowIsTranslucent的設(shè)置就可以簡(jiǎn)單的實(shí)現(xiàn)把一個(gè)Activity當(dāng)Dialog來(lái)使用。