《Android》『AlertDialog』- 提示對話盒的基本用法

《Android Developers 參考文獻》

➥AlertDialog

 

《簡單介紹》

當程式在執行的時候,往往會有許多需要與使用者互動的地方,不管是單純通知使用者目前的狀態,或者是一些需要使用者作出決定的指令,這個時候,用 AlertDialog 來當媒介會是一個不錯的選擇,AlertDialog 是一種基本的對話方塊,裡面預設可以顯示訊息、顯示列表,並提供了一些基本決策按鈕,當然,我們也可以傳入一個自訂的 layout.xml 資源檔,來客製化 AlertDialog 的樣式。

 

《基本用法》

➥ AlertDialog 建立基本交談視窗的方法

➥ AlertDialog 建立清單列表視窗的方法

➥ AlertDialog 建立單選列表視窗的方法

➥ AlertDialog 建立多選列表視窗的方法

➥ AlertDialog 建立自訂外觀視窗的方法

AlertDialog 建立基本交談視窗的方法

MainActivity.java

activity_main.xml

在此範例中,我們宣告了一個名為 btnAlertDialog 按鈕,並透過點擊他來呼叫 AlertDialog,常用到的設定方法條列如下 –

showDialog(DIALOG_ID)

➥傳入自訂 ID,並顯示對應的提示對話方塊,當呼叫此方法時,系統會重載 onCreateDialog(),因此通常會一起使用。

@Override
protected Dialog onCreateDialog(int id)

➥用來初始化提示對話方塊,需搭配 showDialog() 使用。

setIcon()

➥設定標題圖示。

setTitle()

➥設定標題文字。

setMessage()

➥設定提示訊息內容文字。

setPositiveButton()

➥設定預設確認按鈕的文字與動作(未設定則不顯示)。

setNegativeButton()

➥設定預設取消按鈕的文字與動作(未設定則不顯示)。

setNeutralButton()

➥設定預設取消按鈕的文字與動作(未設定則不顯示)。

create()

➥建立對話方塊。

 

AlertDialog 建立清單列表視窗的方法

透過上面的方法,我們建立了一個具有圖案、標題、內容以及三個使用者按鈕的提示訊息方塊,但若是我們想要讓選項以類似列表清單的方式來呈現,該怎麼做呢?其實很簡單,只要透過 setItems() 的方法即可以完成,程式碼如下 –

MainActivity.java

在這裡我們自訂了一個名為 str_list 的陣列,並在 onCreateDialog() 中,透過 setItems() 的方法將該陣列設定給 AlertDialog.Builder,接著就可以進一步定義不同的 Item 被點擊後所需執行的動作。在這裡我們就省略了確認、取消等按鈕的設定,因為並不需要。

用到的設定方法如下 –

setItem()

➥設定清單列表。

 

AlertDialog 建立單選列表視窗的方法

若是我們想要建立一個類似 RadioButton 的單選清單列表,程式碼如下 –

MainActivity.java

用到的設定方法如下 –

setSingleChoiceItems()

➥設定單選清單列表。

 

AlertDialog 建立多選列表視窗的方法

若是我們想要建立一個類似 CheckBox 的多選清單列表,程式碼如下 –

MainActivity.java

我們自訂了名為 str_list 以及 flag_list 的兩個陣列,分別代表了多選清單中每個選項的內容以及是否被選取,並在 onCreateDialog() 中,透過 setMultiChoiceItems() 的方法將這兩個陣列設定給 AlertDialog.Builder,接著就可以進一步定義不同的 Item 被點擊後所需執行的動作。

用到的設定方法如下 –

setMultiChoiceItems()

➥設定多選清單列表。

 

AlertDialog 建立自訂外觀視窗的方法

我們也可以利用直接傳入一個自己定義好的 layout.xml 資源檔,達到自訂外觀視窗的效果,程式碼如下 –

MainActivity.java

content_layout.xml

在這個例子中,我們自訂了一個名為 content_layout.xml 的介面資源檔,並利用 setView() 方法將它設定為 AlertDialog 內容的外觀,一個簡易的客製化外觀視窗就完成了,但是底下的按鈕並沒有達到客製化的效果,下一篇文章會來說明如何完全客製化外觀。

用到的設定方法如下 –

setView()

➥設定自訂的外觀。

賽肥膩膩

我們是低調到不行的肥膩夫妻檔,一路上一邊吵鬧一邊記錄著生活大小事,最近迷上了宅在家追劇,希望能透過文字將所有看過的影集好好紀錄,整理成屬於我們自己的回憶資料庫。

上 / 下一篇文章

臉書留言

一般留言

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *