Android中Dialog的“生命周期”

在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)使用。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,716評(píng)論 25 709
  • 內(nèi)容抽屜菜單ListViewWebViewSwitchButton按鈕點(diǎn)贊按鈕進(jìn)度條TabLayout圖標(biāo)下拉刷新...
    皇小弟閱讀 47,133評(píng)論 22 665
  • ¥開(kāi)啟¥ 【iAPP實(shí)現(xiàn)進(jìn)入界面執(zhí)行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開(kāi)一個(gè)線程,因...
    小菜c閱讀 7,294評(píng)論 0 17
  • 水天浩淼嘆空闊,老病淸凄捱晨昏。遙想家園樂(lè)融融,忍看異鄉(xiāng)雪紛紛。夜夜魂夢(mèng)歸故里,高朋滿座酒滿樽。
    成都獨(dú)行俠閱讀 237評(píng)論 0 2
  • 我愛(ài)你,這個(gè)世界有時(shí)候很壞,愿你被溫柔以待,因?yàn)槟阒档帽徽J(rèn)真對(duì)待,不管現(xiàn)在和未來(lái)。
    氣球先生閱讀 262評(píng)論 0 2

友情鏈接更多精彩內(nèi)容