TShopping

 找回密碼
 註冊
搜索
查看: 1026|回復: 0

[教學] 7種形式的Android Dialog使用例子

[複製鏈接]
發表於 2017-3-4 02:51:06 | 顯示全部樓層 |閱讀模式
 
Push to Facebook Push to Plurk  
在Android開發中,我們經常會需要在Android界面上彈出一些對話框,比如詢問用戶或者讓用戶選擇。這些功能我們叫它Android Dialog對話框,在我們使用Android的過程中,我歸納了一下,Android Dialog的類型無非也就7種,下面我分別向大家介紹這7種Android Dialog對話框的使用方法,希望對大家能有所幫助。
1.該效果是當按返回按鈕時彈出一個提示,來確保無誤操作,採用常見的對話框樣式。
1.jpg
創建dialog對話框方法代碼如下:

  1. protected void dialog() {
  2.     AlertDialog.Builder builder = new Builder(Main.this);
  3.     builder.setMessage("确认退出吗?");
  4.     builder.setTitle("提示");
  5.     builder.setPositiveButton("确认", new OnClickListener() {
  6.      @Override
  7.      public void onClick(DialogInterface dialog, int which) {
  8.       dialog.dismiss();
  9.       Main.this.finish();
  10.      }
  11.     });
  12.     builder.setNegativeButton("取消", new OnClickListener() {
  13.      @Override
  14.      public void onClick(DialogInterface dialog, int which) {
  15.       dialog.dismiss();
  16.      }
  17.     });
  18.     builder.create().show();
  19.    }
複製代碼


在onKeyDown(int keyCode, KeyEvent event)方法中調用此方法
  1. public boolean onKeyDown(int keyCode, KeyEvent event) {
  2.     if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {
  3.      dialog();
  4.     }
  5.     return false;
  6.    }
複製代碼


2.改變了對話框的圖表,添加了三個按鈕
2.jpg
創建dialog的方法代碼如下:
  1. Dialog dialog = new AlertDialog.Builder(this).setIcon(
  2.        android.R.drawable.btn_star).setTitle("喜好调查").setMessage(
  3.        "你喜欢李连杰的电影吗?").setPositiveButton("很喜欢",
  4.        new OnClickListener() {
  5.         @Override
  6.         public void onClick(DialogInterface dialog, int which) {
  7.          // TODO Auto-generated method stub
  8.          Toast.makeText(Main.this, "我很喜欢他的电影。",
  9.            Toast.LENGTH_LONG).show();
  10.         }
  11.        }).setNegativeButton("不喜欢", new OnClickListener() {
  12.       @Override
  13.       public void onClick(DialogInterface dialog, int which) {
  14.        // TODO Auto-generated method stub
  15.        Toast.makeText(Main.this, "我不喜欢他的电影。", Toast.LENGTH_LONG)
  16.          .show();
  17.       }
  18.      }).setNeutralButton("一般", new OnClickListener() {
  19.       @Override
  20.       public void onClick(DialogInterface dialog, int which) {
  21.        // TODO Auto-generated method stub
  22.        Toast.makeText(Main.this, "谈不上喜欢不喜欢。", Toast.LENGTH_LONG)
  23.          .show();
  24.       }
  25.      }).create();
  26.      dialog.show();
複製代碼



3.信息內容是一個簡單的View類型
3.jpg
創建dialog方法的代碼如下:
  1. new AlertDialog.Builder(this).setTitle("请输入").setIcon(
  2.        android.R.drawable.ic_dialog_info).setView(
  3.        new EditText(this)).setPositiveButton("确定", null)
  4.        .setNegativeButton("取消", null).show();
複製代碼



4.信息內容是一組單選框
4.jpg
創建dialog方法的代碼如下:
  1. new AlertDialog.Builder(this).setTitle("复选框").setMultiChoiceItems(
  2.        new String[] { "Item1", "Item2" }, null, null)
  3.        .setPositiveButton("确定", null)
  4.        .setNegativeButton("取消", null).show();
複製代碼



5.信息內容是一組多選框
5.jpg
創建dialog方法的代碼如下:
  1. new AlertDialog.Builder(this).setTitle("单选框").setIcon(
  2.        android.R.drawable.ic_dialog_info).setSingleChoiceItems(
  3.        new String[] { "Item1", "Item2" }, 0,
  4.        new DialogInterface.OnClickListener() {
  5.         public void onClick(DialogInterface dialog, int which) {
  6.          dialog.dismiss();
  7.         }
  8.        }).setNegativeButton("取消", null).show();
複製代碼



6.信息內容是一組簡單列表項
6.jpg
創建dialog的方法代碼如下:
  1. new AlertDialog.Builder(this).setTitle("列表框").setItems(
  2.        new String[] { "Item1", "Item2" }, null).setNegativeButton(
  3.        "确定", null).show();
複製代碼



7.信息內容是一個自定義的佈局
7.jpg
dialog佈局文件代碼如下:
  1. <?xml version="1.0" encoding="utf-8"?>

  2.   <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3.    android:layout_height="wrap_content" android:layout_width="wrap_content"
  4.    android:background="#ffffffff" android:orientation="horizontal"
  5.    android:id="@+id/dialog">
  6.    <TextView android:layout_height="wrap_content"
  7.      android:layout_width="wrap_content"
  8.     android:id="@+id/tvname" android:text="姓名:" />
  9.    <EditText android:layout_height="wrap_content"
  10.     android:layout_width="wrap_content" android:id="@+id/etname" android:minWidth="100dip"/>
  11.   </LinearLayout>
複製代碼



創建dialog方法的代碼如下:

  1. LayoutInflater inflater = getLayoutInflater();
  2.      View layout = inflater.inflate(R.layout.dialog,
  3.        (ViewGroup) findViewById(R.id.dialog));
  4.      new AlertDialog.Builder(this).setTitle("自定义布局").setView(layout)
  5.        .setPositiveButton("确定", null)
  6.        .setNegativeButton("取消", null).show();
複製代碼

好了,以上7種Android dialog對話框的使用方法就介紹到這裡了,基本都全了,如果大家在android開發過程中遇到dialog的時候就可以拿出來看看。



 

臉書網友討論
您需要登錄後才可以回帖 登錄 | 註冊 |

本版積分規則



Archiver|手機版|小黑屋|免責聲明|TShopping

GMT+8, 2021-9-22 09:43 , Processed in 0.264591 second(s), 25 queries .

本論壇言論純屬發表者個人意見,與 TShopping綜合論壇 立場無關 如有意見侵犯了您的權益 請寫信聯絡我們。

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表