看上面的圖,其實(shí)這個(gè)頁面的UI實(shí)現(xiàn)不復(fù)雜,首先是背景部分的實(shí)現(xiàn)這個(gè)參考 android開發(fā)我的新浪微博客戶端-載入頁面UI篇(1.1),重點(diǎn)來講講這個(gè)半透明的彈出對(duì)話框窗口是如何實(shí)現(xiàn)的,首先新建名為AuthorizeActivity.java的Activity,并且在AndroidManifest.xml文件中添加這個(gè)Activity,這樣這個(gè)Activity才能被使用,接下來為這個(gè)Activity新建名為authorize.xml的Layout,這個(gè)Layout很簡(jiǎn)單只負(fù)責(zé)logo小圖標(biāo)顯示,背景部分和透明窗口都是有代碼來實(shí)現(xiàn),所以非常簡(jiǎn)單參考 android開發(fā)我的新浪微博客戶端-載入頁面UI篇(1.1)
完成Layout建立后在AuthorizeActivity的onCreate方法添加如下代碼,設(shè)置authorize.xml為AuthorizeActivity的頁面Layout:
接下來是本文的重點(diǎn)部分,半透明彈窗用Dialog控件進(jìn)行實(shí)現(xiàn),首先為這個(gè)半透明彈窗新建一個(gè)名為dialog.xml的Layout,這個(gè)Layout主要是對(duì)4個(gè)元素進(jìn)行布局,如圖所示分別為i小圖標(biāo)、信息提示、中間文字、開始按鈕,首先用LinearLayout對(duì)i小圖標(biāo)和信息提示進(jìn)行水平布局,中間文字以一個(gè)TextView跟在下面,對(duì)于開始按鈕是用RelativeLayout進(jìn)行底部對(duì)齊顯示。具體代碼如下:
這個(gè)樣式文件的說明如下
parent="@android:style/Theme.Dialog" :在系統(tǒng)Dialog樣式基礎(chǔ)上,相當(dāng)于繼承系統(tǒng)樣式
<item name="android:windowFrame">@null</item> :Dialog的windowFrame框?yàn)闊o
<item name="android:windowIsFloating">true</item>:是否浮現(xiàn)在activity之上
<item name="android:backgroundDimEnabled">false</item>: 背景是否模糊顯示
接下來寫java代碼把這個(gè)半透明彈窗顯示出來,在AuthorizeActivity的onCreate方法添加如下代碼: