TShopping

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

[教學] Android AlertDialog 教學(上)

[複製鏈接]
發表於 2014-3-11 00:28:50 | 顯示全部樓層 |閱讀模式
 
Push to Facebook Push to Plurk Push to Twitter 

AlertDialog(對話方塊)
很像是Android 的 MessageBox ,不過其實他的功能比windows上的 MessageBox 還要強大,且動作上不太相同。

1.windows的 MessageBox 只能顯示訊息,可以設定按鈕數量,
Android 的 AlertDialog 可以顯示訊息,還可以顯示列表,甚至可以是一個xml
也就是說,可以在layout編輯器裡新增一個表單(XML),裡可以放文字物件,EDITTEXT物件,按鈕物件,然後於AlertDialog 上顯示出來,也可以是或是選單(單選,複選都可)。

2.Windows上的MessageBox 是"阻塞"特性,就是當MessageBox 沒有被按下確定或是取消按鈕,程式不會繼續往下執行。
Android 的 AlertDialog 只是單存的對話方塊跳出來,程式會繼續往下執行,這裡還需注意。


1.先來依個最簡單的 對話方塊(AlertDialog)
程式碼如下
  1. private void ShowAlertDialog()
  2. {
  3. Builder MyAlertDialog = new AlertDialog.Builder(this);
  4. MyAlertDialog.setTitle("標題");
  5. MyAlertDialog.setMessage("我是內容");
  6. MyAlertDialog.show();
  7. }
複製代碼
1.png
  1. 新增一個按鈕,加入可以更動訊息,讓這個對話方塊更好用
  2. 使用方法
  3. ShowMsgDialog("哈哈哈");


  4. private void ShowMsgDialog(String Msg)
  5. {
  6. Builder MyAlertDialog = new AlertDialog.Builder(this);
  7. MyAlertDialog.setTitle("標題");
  8. MyAlertDialog.setMessage(Msg);
  9. DialogInterface.OnClickListener OkClick = new DialogInterface.OnClickListener()
  10. {
  11. public void onClick(DialogInterface dialog, int which) {
  12. //如果不做任何事情 就會直接關閉 對話方塊
  13. }
  14. };;
  15. MyAlertDialog.setNeutralButton("中間按鈕",OkClick );
  16. MyAlertDialog.show();
  17. }
複製代碼
2.PNG
  1. 然而按鈕可以分成左邊,中間,右邊 來使用,
  2. OkClick是按下時候處理的事件,因為示範所以只寫
  3. OkClick
  4. ,實際上需要三個事件對應三個按鈕


  5. //三個按鈕的對話方塊展示
  6. private void ShowAlertDialogAnd3Button()
  7. {
  8. Builder MyAlertDialog = new AlertDialog.Builder(this);
  9. MyAlertDialog.setTitle("標題");
  10. MyAlertDialog.setMessage("我是內容");
  11. //建立按下按鈕
  12. DialogInterface.OnClickListener OkClick = new DialogInterface.OnClickListener()
  13. {
  14. public void onClick(DialogInterface dialog, int which) {
  15. //如果不做任何事情 就會直接關閉 對話方塊
  16. }
  17. };
  18. MyAlertDialog.setPositiveButton("左邊按鈕",OkClick );
  19. MyAlertDialog.setNeutralButton("中間按鈕",OkClick );
  20. MyAlertDialog.setNegativeButton("右邊按鈕",OkClick );
  21. MyAlertDialog.show();
  22. }
複製代碼
3.PNG
  1. 對話方塊還可以使用LIST選單,以下示範單選
  2. //有選單的對話方塊
  3. final String[] ListStr = {"Android","其實","很簡單","且","如果選擇項目太多","Android也會","自動的可以拖曳喔!~","真好用"};
  4.    
  5. private void ShowAlertDialogAndList()
  6. {

  7. Builder MyAlertDialog = new AlertDialog.Builder(this);
  8. MyAlertDialog.setTitle("標題");
  9. //建立選擇的事件
  10. DialogInterface.OnClickListener ListClick = new DialogInterface.OnClickListener()
  11. {
  12. public void onClick(DialogInterface dialog, int which) {
  13. ShowMsgDialog(ListStr[which]);

  14. }
  15. };
  16. //建立按下取消什麼事情都不做的事件
  17. DialogInterface.OnClickListener OkClick = new DialogInterface.OnClickListener()
  18. {
  19. public void onClick(DialogInterface dialog, int which) {
  20. }
  21. };  
  22. MyAlertDialog.setItems(ListStr, ListClick);
  23. MyAlertDialog.setNeutralButton("取消",OkClick );
  24. MyAlertDialog.show();
  25. }
複製代碼
4.PNG
項目太多自動生成可以拉動的選單。
轉帖於 http://toimy.blogspot.tw/2010/08/android-alertdialog.html

 

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

本版積分規則



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

GMT+8, 2016-12-3 20:35 , Processed in 0.063177 second(s), 25 queries .

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

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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