AlertDialog的高階與建立方式

2021-08-21 15:18:25 字數 3854 閱讀 5963

alertdialog的六種建立方式

建立alertdialog的步驟:

1、建立alertdialog.builder物件

2、呼叫builder物件的settitle方法設定標題,seticon方法設定圖示

3、呼叫builder相關方法如setmessage方法、setitems方法、setsinglechoiceitems方法、setmultichoiceitems方法、setadapter方法、setview方法設定不同型別的對話方塊內容。

4、呼叫setpositivebutton、setnegativebutton、setneutralbutton設定多個按鈕

5、呼叫builder物件的create()方法建立alertdialog物件

6、呼叫alertdialog物件的show()方法將對話方塊顯示出來

一、setmessage:設定對話方塊內容為簡單文字內容

複製**

// 建立構建器

alertdialog.builder builder = new alertdialog.builder(this);

// 設定引數

builder.settitle(「請做出選擇」).seticon(r.drawable.ic_launcher)

.setmessage(「我美不美」)

.setpositivebutton(「美」, new onclicklistener()

}).setnegativebutton("不美", new onclicklistener()

}).setneutralbutton("不知道", new onclicklistener()

});builder.create().show();複製**

執行截圖:

二、setitem:設定文字框內容為簡單列表項

複製**

// 建立資料

final string items = new string ;

// 建立對話方塊構建器

alertdialog.builder builder = new alertdialog.builder(this);

// 設定引數

builder.seticon(r.drawable.ic_launcher).settitle(「提示」)

.setitems(items, new onclicklistener()

});builder.create().show();複製**

執行截圖:

三、setsinglechoiceitems()設定對話方塊內容為單選列表項

複製**

// 建立資料

final string items = new string ;

// 建立對話方塊構建器

alertdialog.builder builder = new alertdialog.builder(this);

// 設定引數

builder.seticon(r.drawable.ic_launcher).settitle(「提示」)

.setsinglechoiceitems(items, 0, new onclicklistener()

});builder.create().show();複製**

執行截圖:

四、setmultichoiceitems()設定對話方塊內容為多選項列表

複製**

// 建立資料

final string items = new string ;

// 建立對話方塊構建器

alertdialog.builder builder = new alertdialog.builder(this);

builder.seticon(r.drawable.ic_launcher)

.settitle(「提示」)

.setmultichoiceitems(items,

new boolean ,

new onmultichoiceclicklistener()

}});

builder.create().show();複製**

執行截圖:

五、setadapter()設定對話方塊內容為自定義列表項(這裡是乙個布局)

複製**

// 建立資料

final string items = new string ;

// 建立對話方塊構建器

alertdialog.builder builder = new alertdialog.builder(this);

builder.settitle(「提示」)

.seticon(r.drawable.ic_launcher)

.setadapter(

new arrayadapter(mainactivity.this,

r.layout.item, r.id.tv, items),

new onclicklistener()

});builder.create().show();複製**

執行截圖:

六、setview()設定對話方塊為自定義view

複製**

// 建立對話方塊構建器

alertdialog.builder builder = new alertdialog.builder(this);

// 獲取布局

view view2 = view.inflate(mainactivity.this, r.layout.login, null);

// 獲取布局中的控制項

final edittext username = (edittext) view2.findviewbyid(r.id.username);

final edittext password = (edittext) view2.findviewbyid(r.id.password);

final button button = (button) view2.findviewbyid(r.id.btn_login);

// 設定引數

builder.settitle(「login」).seticon(r.drawable.ic_launcher)

.setview(view2);

// 建立對話方塊

final alertdialog alertdialog = builder.create();

button.setonclicklistener(new view.onclicklistener()

toast.maketext(mainactivity.this, "登入失敗", 0).show();

alertdialog.dismiss();// 對話方塊消失

}});

alertdialog.show();複製**

執行截圖:

siberiadante的部落格:

AlertDialog的樣式修改

一 控制dialog 的背景方法 1.定義乙個無背景主題主題 2.建立dialog dialog new dialog this,r.style.dialog dialog.setcontentview r.layout.dialog loading or dialog new dialog thi...

修改AlertDialog的大小

最近做的專案中使用到了alertdialog,需要調節alertdialog的大小,試了好多方法,終於成功了,記錄一下 dialog.getwindow setlayout 460,140 這個方法一定要寫在show 後面才會成功。下面的做法也可以,不過同樣要在show後面做。windowmanag...

android中的AlertDialog具體概述

android的alertdialog具體解釋 alertdialog的構造方法所有是protected的。所以不能直接通過new乙個alertdialog來建立出乙個alertdialog。要建立乙個alertdialog,就要用到alertdialog.builder中的create 方法。使用...