在android中我們經(jīng)常會(huì)用AlertDialog來(lái)顯示對(duì)話框。通過(guò)這個(gè)對(duì)話框是顯示在屏幕中心的。但在某些程序中,要求對(duì)話框可以顯 示在不同的位置。例如,屏幕的上方或下方。要實(shí)現(xiàn)這種效果。就需要獲得對(duì)話框的Window對(duì)象,獲得這個(gè)Window對(duì)象有多種方法。最容易的就是直接 通過(guò)AlertDialog類的getWindow方法來(lái)獲得Window對(duì)象。
透明的對(duì)話框
默認(rèn)顯示的對(duì)話框是不透明的,但我們可以通過(guò)設(shè)置對(duì)話框的alpha值將其變成透明或半透明效果。我們都知道。顏色由R(紅)、 G(綠)、B(藍(lán))組成。除此之外,還會(huì)有一個(gè)A(透明度,Alpha)來(lái)描述顏色。在顏色的描述中,如果該值為0表示完全透明,如果該值為255,表示 不透明。
通過(guò)設(shè)置Windows的alpha屬性也可以設(shè)置對(duì)話框的透明度。但alpha的取值范圍是從0到1.0。如果該屬性值為0,表 示完全透明,如果該值為1.0,表示不透明(也就是正常顯示的對(duì)話框)。下面的代碼通過(guò)將alpha的值設(shè)為0.3,為了更清晰地顯示透明的對(duì)話框和非透 明的對(duì)話框。在本例中加了一個(gè)背景圖像,將同時(shí)顯示了兩個(gè)對(duì)話框(一個(gè)是半透明的,另一是不透明的)。
我們?cè)谑褂媚承?yīng)用時(shí)會(huì)發(fā)現(xiàn)當(dāng)彈出對(duì)話框或某些模式窗口時(shí),后面的內(nèi)容會(huì)變得模糊或不清楚。實(shí)際上,這些效果也很容易在OPhone中實(shí)現(xiàn)。為了實(shí)現(xiàn)這個(gè)功能,我們只需要設(shè)置Wndow對(duì)象的兩個(gè)標(biāo)志即可,代碼如下:
|
|