天天看點

android學習筆記——AlertDialog控件

AlertDialog的構造方法全部是Protected的,是以不能直接通過new一個AlertDialog來建立出一個AlertDialog。 要建立一個AlertDialog,就要用到AlertDialog.Builder中的create()方法。 使用AlertDialog.Builder建立對話框需要了解以下幾個方法:

setTitle :為對話框設定标題

setIcon :為對話框設定圖示

setMessage:為對話框設定内容

setView : 給對話框設定自定義樣式

setItems :設定對話框要顯示的一個list,一般用于顯示幾個指令時

setMultiChoiceItems :用來設定對話框顯示一系列的複選框 setNeutralButton    :普通按鈕 setPositiveButton   :給對話框添加"Yes"按鈕

setNegativeButton :對話框添加"No"按鈕

create : 建立對話框 show :顯示對話框 舉個例子:      Dialog alertDialog = new AlertDialog.Builder(this).                  setTitle("對話框的标題"). 

                setMessage("對話框的内容"). 

                setIcon(R.drawable.ic_launcher). 

                create();          alertDialog.show();

類似ListView的AlertDialog 用setItems(CharSequence[] items, final OnClickListener listener)方法來實作類似ListView的AlertDialog 第一個參數是要顯示的資料的數組,第二個參數是點選某個item的觸發事件 .setItems(arrayFruit, new DialogInterface.OnClickListener() {}

類似RadioButton的AlertDialog 用setSingleChoiceItems(CharSequence[] items, int checkedItem, final OnClickListener listener)方法來實作類似RadioButton的AlertDialog 第一個參數是要顯示的資料的數組,第二個參數是初始值(初始被選中的item),第三個參數是點選某個item的觸發事件 在這個例子裡面我們設了一個selectedFruitIndex用來記住選中的item的index .setSingleChoiceItems(arrayFruit, 0, new DialogInterface.OnClickListener(){})

類似CheckBox的AlertDialog

用setMultiChoiceItems(CharSequence[] items, boolean[] checkedItems, final OnMultiChoiceClickListener listener)方法來實作類似CheckBox的AlertDialog 第一個參數是要顯示的資料的數組,第二個參數是選中狀态的數組,第三個參數是點選某個item的觸發事件 .setMultiChoiceItems(arrayFruit, arrayFruitSelected, new DialogInterface.OnMultiChoiceClickListener(){})

自定義View的AlertDialog 有時候我們不能滿足系統自帶的AlertDialog風格,就比如說我們要實作一個Login畫面,有使用者名和密碼,這時我們就要用到自定義View的AlertDialog 先建立Login畫面的布局檔案 然後在Activity裡面把Login畫面的布局檔案添加到AlertDialog上      // 取得自定義View           LayoutInflater layoutInflater = LayoutInflater.from(this);          View myLoginView = layoutInflater.inflate(R.layout.login, null);