Android重構(gòu)與設(shè)計(jì)之路,從整理提示對話框彈窗開始

封裝一個(gè)獨(dú)立彈窗Module,這里的彈窗包括普通的Dialog方式彈框和WindowManager方式彈窗。提供一種管理項(xiàng)目里面彈窗的方案,便于后期修改和維護(hù)。

首先描述一個(gè)在大項(xiàng)目中普遍存在的一個(gè)現(xiàn)象:由于項(xiàng)目的功能多,負(fù)責(zé)功能的人不同,當(dāng)功能中需要一個(gè)普通的確定取消對話框時(shí),大部分人都選擇自己寫了一個(gè),自己new一個(gè)獨(dú)立的彈窗出來。這樣做的好處有以下幾個(gè):

  1. 代碼邏輯獨(dú)立,自己寫的代碼自己能控制
  2. 快速方便,便于修改,便于滿足各種奇怪的需求

可是這個(gè)做法導(dǎo)致項(xiàng)目中存在大量的代碼冗余,大量的分散的彈窗,短期內(nèi)一般也不會(huì)有什么問題,如果這個(gè)時(shí)候項(xiàng)目要重構(gòu),要修改所有彈窗的樣式,接下來面臨幾個(gè)問題:

  1. 不知道有多少個(gè)彈窗
  2. 不知道代碼中什么地方會(huì)有彈窗
  3. 不知道彈窗寫法都有哪些(樣式不知道,彈出的方式是Dialog還是WindowManager)
  4. 改動(dòng)點(diǎn)多,工作量大,風(fēng)險(xiǎn)大

本文就是針存在以上彈窗特點(diǎn)的項(xiàng)目,提供一種對話框的管理方式,提供一種比較好維護(hù)的實(shí)現(xiàn)方式(不一定是最好的實(shí)現(xiàn)方式)。由于代碼量大,本文只講實(shí)現(xiàn)設(shè)計(jì)思想和實(shí)現(xiàn)方式,具體源碼可以直接從github下載查看,后面會(huì)提供地址。

 

本文實(shí)現(xiàn)彈窗效果動(dòng)畫演示

本文中Dialog彈窗樣式總共實(shí)現(xiàn)了12種,但是這個(gè)不能作為一個(gè)標(biāo)準(zhǔn),要根據(jù)自己項(xiàng)目的實(shí)際情況,自己做分類,當(dāng)然大部分簡單的項(xiàng)目用本文提供的Module就可以直接使用。

網(wǎng)友評論