国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > Android > 正文

簡析Android多種AlertDialog對話框效果

2020-04-11 10:54:41
字體:
供稿:網(wǎng)友

android提供了四類常用的對話框,本文分享具體實現(xiàn)方法:

  • 1.AlertDialog,功能最豐富,實際運(yùn)用最廣泛
  • 2.progressDialog,進(jìn)度條對話框
  • 3.DatePickerDialog,日期選擇對話框
  • 4.TimePickerDialog,時間選擇對話框

這里主要介紹第一種,剩下的三種都是第一種的子類,所以其方法,都可以直接使用.

創(chuàng)建一個對話框一般需要下面幾個步驟

  • 1.創(chuàng)建AlertDialog.Builder對象
  • 2.對AlertDialog.Builder通過SetTitle來設(shè)置標(biāo)題,SetIcon來設(shè)置圖標(biāo)
  • 3.調(diào)用AlertDialog.Builder相關(guān)方法來設(shè)置內(nèi)容
  • 4.調(diào)用setPositiveButton或者setBegativeButton設(shè)置確定和取消按鈕,其中還一個裝飾性按鈕,就不介紹了
  • 5.調(diào)用AlertDialog.Builder的create方法進(jìn)行創(chuàng)建,再調(diào)用AlertDialog的show方法即可顯示出來.

下面根據(jù)實例一起來看看具體用法

1、簡單文本對話框

定義一個Button為其添加點(diǎn)擊事件,從而啟動AlertDialog對話框,并添加監(jiān)聽事件

public void simpledialog1(View view){  AlertDialog.Builder builder = new AlertDialog.Builder(this)    //設(shè)置對話框標(biāo)題    .setTitle("簡單文本對話框")    //設(shè)置圖標(biāo)    .setIcon(R.mipmap.ic_launcher)    //設(shè)置為簡單文本對話框    .setMessage("這是一個簡單文本對話框");    //設(shè)置兩個按鈕    builder.setPositiveButton("確定", new DialogInterface.OnClickListener() {     @Override     public void onClick(DialogInterface dialog, int which) {      Toast.makeText(MainActivity.this,"你點(diǎn)擊了確認(rèn)",Toast.LENGTH_SHORT).show();     }    });    builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {     @Override     public void onClick(DialogInterface dialog, int which) {      Toast.makeText(MainActivity.this, "你點(diǎn)擊了取消", Toast.LENGTH_SHORT).show();     }    });    builder.create().show(); }

2、列表項對話框

和上面的文本對話框不同,列表像是通過一個數(shù)組來顯示列表

public void simpledialog2(View view){  //列表項需要傳入一個數(shù)組用于顯示列表  final String items[] = {"java","php","android","ios"};  AlertDialog.Builder builder = new AlertDialog.Builder(this)    //設(shè)置對話框標(biāo)題    .setTitle("簡單列表項對話框")      //設(shè)置圖標(biāo)    .setIcon(R.mipmap.ic_launcher)      //設(shè)置為簡單列表項對話框    .setItems(items, new DialogInterface.OnClickListener() {     @Override     public void onClick(DialogInterface dialog, int which) {      Toast.makeText(MainActivity.this, "你點(diǎn)擊了" + items[which], Toast.LENGTH_SHORT).show();     }    });  //設(shè)置兩個按鈕  builder.setPositiveButton("確定", new DialogInterface.OnClickListener() {   @Override   public void onClick(DialogInterface dialog, int which) {    Toast.makeText(MainActivity.this,"你點(diǎn)擊了確認(rèn)",Toast.LENGTH_SHORT).show();   }  });  builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {   @Override   public void onClick(DialogInterface dialog, int which) {    Toast.makeText(MainActivity.this, "你點(diǎn)擊了取消", Toast.LENGTH_SHORT).show();   }  });  builder.create().show(); }

3、單選項對話框

和列表項差不多,但是功能足足強(qiáng)了好多,因為傳入的參數(shù)可以為數(shù)組,也可以是Cursor的查詢結(jié)果集,還可以使ListAdapter

public void simpledialog3(View view){  //列表項需要傳入一個數(shù)組用于顯示列表  final String items[] = {"java","php","android","ios"};  AlertDialog.Builder builder = new AlertDialog.Builder(this)    //設(shè)置對話框標(biāo)題    .setTitle("簡單列表項對話框")      //設(shè)置圖標(biāo)    .setIcon(R.mipmap.ic_launcher)      //設(shè)置為簡單單選列表項對話框,1表示默認(rèn)選擇第二個    .setSingleChoiceItems(items, 1, new DialogInterface.OnClickListener() {     @Override     public void onClick(DialogInterface dialog, int which) {      Toast.makeText(MainActivity.this, "你點(diǎn)擊了" + items[which], Toast.LENGTH_SHORT).show();     }    });  //設(shè)置兩個按鈕  builder.setPositiveButton("確定", new DialogInterface.OnClickListener() {   @Override   public void onClick(DialogInterface dialog, int which) {    Toast.makeText(MainActivity.this,"你點(diǎn)擊了確認(rèn)",Toast.LENGTH_SHORT).show();   }  });  builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {   @Override   public void onClick(DialogInterface dialog, int which) {    Toast.makeText(MainActivity.this, "你點(diǎn)擊了取消", Toast.LENGTH_SHORT).show();   }  });  builder.create().show(); }

4、多選項對話框

多選和單選差不多,就多了個Boolean的數(shù)組來控制初始選擇值

public void simpledialog4(View view){  //列表項需要傳入一個數(shù)組用于顯示列表  final String items[] = {"java","php","android","ios"};  AlertDialog.Builder builder = new AlertDialog.Builder(this)    //設(shè)置對話框標(biāo)題    .setTitle("簡單列表項對話框")      //設(shè)置圖標(biāo)    .setIcon(R.mipmap.ic_launcher)      //設(shè)置為簡單多選列表項對話框,boolean型變量表示初始選擇的位置    .setMultiChoiceItems(items, new boolean[]{false, false, false, true}, null);  //設(shè)置兩個按鈕  builder.setPositiveButton("確定", new DialogInterface.OnClickListener() {   @Override   public void onClick(DialogInterface dialog, int which) {    Toast.makeText(MainActivity.this,"你點(diǎn)擊了確認(rèn)",Toast.LENGTH_SHORT).show();   }  });  builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {   @Override   public void onClick(DialogInterface dialog, int which) {    Toast.makeText(MainActivity.this, "你點(diǎn)擊了取消", Toast.LENGTH_SHORT).show();   }  });  builder.create().show(); }

另外還可以使用SetAdapter方法制作自定義列表項的對話框,或者使用SetView來制作自定義View的對話框。
以后的實例中會逐漸都應(yīng)用到的,希望大家繼續(xù)關(guān)注。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 麻城市| 安达市| 崇礼县| 额尔古纳市| 梓潼县| 南和县| 太保市| 桓仁| 察雅县| 丰顺县| 太保市| 宁陕县| 永泰县| 金乡县| 鹤庆县| 成都市| 珠海市| 临沂市| 荣成市| 麻阳| 乌苏市| 宣武区| 碌曲县| 彭州市| 卢龙县| 屏东市| 迁安市| 徐州市| 宾阳县| 河西区| 繁峙县| 黄石市| 集安市| 青川县| 溆浦县| 西和县| 昌乐县| 张家口市| 开鲁县| 九江市| 南充市|