(轉載)Android常用的Dialog對話方塊用法

來源:互聯網
上載者:User

標籤:target   單選   imp   uil   cti   技術   sage   system   www   

Android常用的Dialog對話方塊用法

Android的版本有很多通常開發的時候對話方塊大多數使用自訂或是 Google提供的V4,

V7 相容包來開發保持各個版本的對話方塊樣式統一,所以這裡使用的是V7 包裡的AlertDialog。

  1 import android.app.ProgressDialog;  2 import android.content.DialogInterface;  3 import android.os.Bundle;  4 import android.os.SystemClock;  5 import android.support.v7.app.AlertDialog;  6 import android.support.v7.app.AppCompatActivity;  7 import android.view.View;  8 import android.widget.Toast;  9  10 public class MainActivity extends AppCompatActivity { 11  12     @Override 13     protected void onCreate(Bundle savedInstanceState) { 14         super.onCreate(savedInstanceState); 15         setContentView(R.layout.activity_main); 16     } 17  18     /** 19      * 普通對話方塊 20      * 21      * @param view 22      */ 23     public void click1(View view) { 24         AlertDialog.Builder builder = new AlertDialog.Builder(this); 25         //設定標題 26         builder.setTitle("使用者安全提示:"); 27         //設定提示訊息 28         builder.setMessage("你確定接受使用者隱私條款嗎?"); 29         builder.setPositiveButton("確定", null); 30         builder.setNegativeButton("取消", null); 31         //顯示dialog 32         builder.show(); 33     } 34  35     /** 36      * 單選對話方塊 37      * 38      * @param view 39      */ 40     public void click2(View view) { 41         AlertDialog.Builder builder = new AlertDialog.Builder(this); 42         //設定標題 43         builder.setTitle("選擇一項你的專業:"); 44         //設定要顯示的item條目 45         final String items[] = {"Java", "C++", "PHP", "Android", "C#", "Python", "MySql"}; 46         //設定item點擊事件 47         builder.setSingleChoiceItems(items, -1, new DialogInterface.OnClickListener() { 48             @Override 49             public void onClick(DialogInterface dialog, int which) { 50                 Toast.makeText(MainActivity.this, "你選擇了:" + items[which], Toast.LENGTH_SHORT).show(); 51                 dialog.dismiss(); 52             } 53         }); 54         //顯示dialog 55         builder.show(); 56     } 57  58     /** 59      * 多選對話方塊 60      * 61      * @param view 62      */ 63     public void click3(View view) { 64         AlertDialog.Builder builder = new AlertDialog.Builder(this); 65         //設定標題 66         builder.setTitle("選擇你的興趣愛好:"); 67         //設定要顯示的item條目 68         final String items[] = {"看書", "玩遊戲", "看電影", "打球", "健身", "自駕遊", "去酒吧"}; 69         //設定每個條目的選擇狀態 false為沒有選中 true為選中 70         final boolean[] checks = {true, true, false, false, false, false, false}; 71         //設定item點擊事件 條目被選中時 修改checks裡的boolean值 72         builder.setMultiChoiceItems(items, checks, new DialogInterface.OnMultiChoiceClickListener() { 73             @Override 74             public void onClick(DialogInterface dialog, int which, boolean isChecked) { 75                 checks[which] = isChecked; 76             } 77         }); 78         //設定確定按鈕點擊事件 79         builder.setPositiveButton("確定", new DialogInterface.OnClickListener() { 80             @Override 81             public void onClick(DialogInterface dialog, int which) { 82                 StringBuffer buffer = new StringBuffer(); 83                 for (int i = 0; i < checks.length; i++) { 84                     if (checks[i]) { 85                         buffer.append(items[i] + ","); 86                     } 87                 } 88                 Toast.makeText(MainActivity.this, buffer.toString(), Toast.LENGTH_SHORT).show(); 89             } 90         }); 91         builder.setNegativeButton("取消", null); 92         //顯示dialog 93         builder.show(); 94     } 95  96     /** 97      * 進度條對話方塊 98      * 99      * @param view100      */101     public void click4(View view) {102         final ProgressDialog dialog = new ProgressDialog(this);103         dialog.setTitle("請稍等:");104         //dialog.setMessage("正在努力載入...");105         //dialog.show();106 107         //以下的屬性不設定 進度條樣式預設為圓形108 109         //設定進度最大值為100110         dialog.setMax(100);111         //設定進度條樣式為水平112         dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);113 114         dialog.show();115         //類比一個進度載入過程116         new Thread() {117             @Override118             public void run() {119                 for (int i = 0; i <= 100; i++) {120                     dialog.setProgress(i);121                     //休眠200毫秒122                     SystemClock.sleep(200);123                 }124                 dialog.dismiss();125             }126         }.start();127     }128 }

 分類: Android控制項 好文要頂 關注我 收藏該文  何叫獸
關注 - 0
粉絲 - 3  +加關注00   ? 上一篇:Activity生命週期詳解
? 下一篇:JDBC的詳細使用

 

(轉載)Android常用的Dialog對話方塊用法

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.