欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
Android中的普通對話(huà)框、單選對話(huà)框、多選對話(huà)框、帶Icon的對話(huà)框、以及自定義Adapter和自定義View對話(huà)框詳解

標簽:

對話(huà)框就是一個(gè)AlertDialog,但是一個(gè)簡(jiǎn)單的AlertDialog,我們卻可以將它玩出許多花樣來(lái),下面我們就來(lái)一起總結一下AlertDialog的用法??纯锤魑煌谄綍r(shí)的工作中否都用到了AlertDialog的這些特性。

OK,廢話(huà)不多說(shuō),進(jìn)入我們今天的正題。

普通對話(huà)框

普通對話(huà)框就是我們最最常用的對話(huà)框,實(shí)現起來(lái)并不復雜,實(shí)現出來(lái)的效果當然也是最簡(jiǎn)單的,如下:

		AlertDialog dialog = new AlertDialog.Builder(this).setTitle("普通對話(huà)框").setIcon(R.drawable.a4s)				.setNegativeButton("取消", null).setPositiveButton("確定", new OnClickListener() {										@Override					public void onClick(DialogInterface dialog, int which) {						//處理確認按鈕的點(diǎn)擊事件					}				}).setNeutralButton("中立", null)				.setMessage("確認刪除?").create();		dialog.show();


我們可以給一個(gè)對話(huà)框設置標題,也可以設置圖標,在對話(huà)框的最下面我們可以設置三個(gè)按鈕,分別是取消、確定、中立,一般情況下,我們可以在確認按鈕中加入相應的點(diǎn)擊事件。OK,那么這樣一個(gè)對話(huà)框它的顯示效果是什么樣子的呢?如下:

顯示Item的對話(huà)框

如果我們的對話(huà)框中要顯示若干個(gè)item,那么我們可以給AlertDialog設置item,如下:

AlertDialog dialog = new AlertDialog.Builder(this).setTitle("顯示Item對話(huà)框").setIcon(R.drawable.a4s)				.setItems(items, new OnClickListener() {					@Override					public void onClick(DialogInterface dialog, int which) {						Toast.makeText(MainActivity.this, items[which], Toast.LENGTH_SHORT).show();					}				}).create();		dialog.show();

這里的items是一個(gè)String類(lèi)型的數組,如下:

items = new String[] { "魏", "蜀", "吳" };

那么這里我們就沒(méi)有必要再設置最下方的三個(gè)按鈕了,直接點(diǎn)擊Item之后,觸發(fā)相應的事件。在onClick方法中有一個(gè)int型參數叫做which,這個(gè)參數表示的是用戶(hù)點(diǎn)擊了第幾個(gè)item,顯示效果如下:

當用戶(hù)點(diǎn)擊不同的item之后,我們在onClick方法中根據which的值的不同做出相應的處理。

單選對話(huà)框

和顯示Item的對話(huà)框一樣,單選對話(huà)框我們其實(shí)也沒(méi)有必要再設置最下面的三個(gè)按鈕(如果你非要設置也沒(méi)問(wèn)題),那么他的代碼是這樣的:

		AlertDialog dialog = new AlertDialog.Builder(this).setTitle("單選對話(huà)框").setIcon(R.drawable.a4s)				.setSingleChoiceItems(items, -1, new OnClickListener() {					@Override					public void onClick(DialogInterface dialog, int which) {						Toast.makeText(MainActivity.this, items[which], Toast.LENGTH_SHORT).show();						dialog.dismiss();					}				}).create();		dialog.show();

這次我們調用的方法是setSingleChoiceItems這個(gè)方法,這個(gè)方法有三個(gè)參數,其中items的值和前面的一樣,第二個(gè)參數表示預選中的item,第三個(gè)參數則是事件的處理方法。事件處理方法也一樣,不同的是這里多了一句dialog.dismiss();,沒(méi)錯,這里我們要手動(dòng)關(guān)閉dialog。那么它的顯示效果是這樣的:

當我們選中任意一個(gè)item的時(shí)候,dialog將會(huì )自動(dòng)關(guān)閉,相應的點(diǎn)擊事件我們在onClick方法中進(jìn)行處理。

多選對話(huà)框

和單選對話(huà)框不同,多選對話(huà)框就要求我們必須有下面的按鈕,那么在這里我給下面設置兩個(gè)按鈕,我們來(lái)看看代碼:

AlertDialog dialog = new AlertDialog.Builder(this).setTitle("多選對話(huà)框").setIcon(R.drawable.a4s)				.setNegativeButton("取消", null).setPositiveButton("確定", null)				.setMultiChoiceItems(items, null, new OnMultiChoiceClickListener() {					@Override					public void onClick(DialogInterface dialog, int which, boolean isChecked) {					}				}).create();		dialog.show();

和setSingleChoiceItems一樣,這里的setMultiChoiceItems也有三個(gè)參數,分別是數據源,預選中的item以及item的點(diǎn)擊事件,預選中的item是一個(gè)Boolean型的數組,表示一開(kāi)始哪些item被選中哪些item沒(méi)有被選中,這里的點(diǎn)擊事件也多了一個(gè)參數,就是isChecked,表示該item是否被選中,那么我們可以通過(guò)一個(gè)boolean類(lèi)型的數組來(lái)記錄item的選中情況。這里我就不再單獨寫(xiě)了。多選對話(huà)框的顯示效果如下圖所示:


當我們選完我們要選的每一項之后,點(diǎn)擊確定就可以拿到相應的數據了。

自定義Adapter

可能有同學(xué)注意到了,Builder還有一個(gè)方法叫做setAdapter,這個(gè)方法的參數是一個(gè)ListAdapter,就是我們平時(shí)為L(cháng)istView制作的Adapter,可以設置Adapter意味著(zhù)我們的AlertDialog可以顯示出來(lái)的內容更加的豐富,那么在這里我就使用最簡(jiǎn)單的ArrayAdapter來(lái)為大家做一個(gè)Demo,代碼如下:

adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, new String[] { "張三", "李四" });		AlertDialog dialog = new AlertDialog.Builder(this).setTitle("自定義Adapter").setIcon(R.drawable.a4s)				.setAdapter(adapter, new OnClickListener() {					@Override					public void onClick(DialogInterface dialog, int which) {					}				}).create();		dialog.show();

顯示效果如下:

這個(gè)時(shí)候我們想讓AlertDialog顯示成什么樣子就能讓它顯示成什么樣子,Adapter給我們帶來(lái)了極大的靈活性。

自定義View

當然,這里終極大Boss還不是自定義Adapter,而是自定義View,通過(guò)自定義View,我們可以讓我們的AlertDialog顯示出任何我們想要的界面,代碼如下:

View view = LayoutInflater.from(this).inflate(R.layout.activity_main, null);		AlertDialog dialog = new AlertDialog.Builder(this).setTitle("自定義View").setIcon(R.drawable.a4s).setView(view)				.create();		dialog.show();

顯示效果如下:

使用自定義View的方式,我們可以自定義出各種各樣的Dialog出來(lái),比如登錄的Dialog,關(guān)于或者說(shuō)明的Dialog等等。

AlertDialog的使用方式基本上就這么幾種,Demo下載http://download.csdn.net/detail/u012702547/9433640




Android中的普通對話(huà)框、單選對話(huà)框、多選對話(huà)框、帶Icon的對話(huà)框、以及自定義Adapter和自定義View對話(huà)框詳解

標簽:

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
AlertDialog詳解
對話(huà)框多種方式詳解
AlertDialog彈出自定義對話(huà)框
自定義AlertDialog樣式,根據屏幕大小來(lái)顯示
Android學(xué)習筆記28:對話(huà)框Dialog控件的使用
自定義Android 對話(huà)框(AlertDialog) 的樣式
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久