標籤: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對話方塊用法