1、普通對話框: 給出提示信息,有yes、no兩個按鈕。 所有對話框都有 setTitle()、setMessage()、setIcon()、show()、hide()的方法。 其中 setTitle()、setMessage()、setIcon()既可以在create()之前使用,也可以在crea ...
1、普通對話框:
給出提示信息,有yes、no兩個按鈕。
1 AlertDialog dialog=new AlertDialog.Builder(this) //this代表當前Activity對象,表示此對話框屬於當前Activity對象。也可用 類名.this 指定為其它的Activity對象 2 .setPositiveButton("確定",null) //要加的按鈕必須放在create()之前 3 .setNegativeButton("取消",null) //第一個參數是按鈕上的文本,第二個是監聽器OnClickListener,可設置為null,點擊時退出對話框 4 .setTitle("提示") //標題 5 .setMessage("是否退出?") //提示信息 6 .setIcon(R.drawable.a) //圖標,只能是R.xxx.yyy的形式 7 .create(); //不用create(),直接show()也行 8 9 //標題、提示信息、圖標也可以後面再設置 10 //dialog.setTitle("提示"); 11 //dialog.setMessage("是否退出"); 12 //dialog.setIcon(R.drawable.a); 13 14 dialog.show(); //顯示對話框 15 //dialog.hide(); //隱藏對話框
所有對話框都有 setTitle()、setMessage()、setIcon()、show()、hide()的方法。
其中 setTitle()、setMessage()、setIcon()既可以在create()之前使用,也可以在create()創建對話框後再使用。
2、單選對話框
1 AlertDialog dialog=new AlertDialog.Builder(this) 2 .setTitle("請選擇性別") 3 .setIcon(R.drawable.a) 4 ////設置一組單選按鈕,第一個參數是String數組,第二參數設置預設選中的項(數組下標),第三個參數單選按鈕的監聽器 5 .setSingleChoiceItems(new String[]{"男","女"},0,null) 6 .show(); //不用create(),直接show()也行
3、多選對話框
1 AlertDialog dialog=new AlertDialog.Builder(this) 2 .setTitle("請選擇愛好") 3 .setIcon(R.drawable.a) 4 //設置一組多選按鈕,第一個參數是String數組,第二參數boolean數組,true表示該項預設選中,第三個參數是監聽器 5 .setMultiChoiceItems(new String[]{"讀書","運動","旅游"},new boolean[]{true,true,false},null) 6 .show();
以上三種對話框中用到的事件監聽:
1 new DialogInterface.OnClickListener() { 2 @Override 3 public void onClick(DialogInterface dialogInterface, int i) { 4 //i代表當前按鈕的編號 5 } 6 }
普通對話框中,這個事件監聽是某個按鈕的事件監聽。
單選/多線對話框中,這個事件監聽是每個選項的事件監聽,即點擊一個選項,就會觸發事件一次。
普通對話框、單選對話框、多選對話框都是AlertDialog。進度條對話框是ProgressDialog。
4、進度條對話框
當程式在進行耗時的操作時(比如下載文件),可以用進度條對話框來顯示進度。
進度條有2種樣式:
水平進度條 圓形進度條(圓圈會一直轉動)
1 ProgressDialog dialog=new ProgressDialog(this); //註意用法有點不同,沒有Builder() 2 dialog.setTitle("下載進度"); //註意ProgressDialog的方法都只能單獨寫,不能在創建ProgressDialog對象時寫在後面 3 dialog.setIcon(R.drawable.a); 4 dialog.setMessage("正在下載請稍後"); //文本可用setMessage()動態修改,顯示當前的具體操作 5 dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); //設置進度條樣式 6 dialog.show();
5、消息對話框
消息對話框(Toast)是輕量級消息提醒機制,用於向用戶顯示即時消息。
Toast對話框顯示在程式界面的最上層(最前面),顯示一段時間後自動消失,不會打斷當前操作,也不會獲取焦點,只起到提示作用。
1 //makeText()是Toast類的靜態方法。 2 //第一個參數指定消息對話框所屬的Activity,可用Activity類名.this指定其他的,第二個參數指定提示文本,第三個參數是Toast類的預定義常量,指定顯示時間的長短。 3 //要調用show()才會顯示。 4 Toast.makeText(this,"電量不足10%!",Toast.LENGTH_LONG).show();