顯示廣告
隱藏 ✕
看板 KnucklesNote
作者 Knuckles (站長 那克斯)
標題 [AndroidStudio] 使用對話框 AlertDialog
時間 2016-02-21 Sun. 10:35:37


要建立一個有標題和內容文字
點一下「確定」後會關閉的對話框

使用
        //建立一個對話框
        AlertDialog dialog = new AlertDialog.Builder(this)
            .setTitle("標題")
            .setMessage("內容")
            .setPositiveButton("確定", new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int id) {
                    Log.d("Main", "click");
                }
            })
            .create();

        //要將對話框顯示時
        dialog.show();

若出現要import哪個檔案時,選擇
import android.app.AlertDialog;

執行結果
[圖]


點一下「確定」或旁邊灰色區域即可關閉對話框

也可以用程式關閉
dialog.dismiss();


要使用兩個按鈕的話,加上 setNegativeButton()
        AlertDialog dialog = new AlertDialog.Builder(this)
            .setTitle("標題")
            .setMessage("內容")
            .setPositiveButton("確定", new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int id) {
                    Log.d("Main", "click ok");
                }
            })
            .setNegativeButton("取消", new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int id) {
                    Log.d("Main", "click cancel");
                }
            })
            .create();
        dialog.show();

若點擊取消鈕只要關掉對話框就好,不需其他動作的話,可以改成這樣
            .setNegativeButton("取消", null)

執行結果
[圖]



最多可以使用三個按鈕
        AlertDialog dialog = new AlertDialog.Builder(this)
            .setTitle("標題")
            .setMessage("內容")
            .setPositiveButton("確定", new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int id) {
                    Log.d("Main", "click ok");
                }
            })
            .setNegativeButton("取消", new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int id) {
                    Log.d("Main", "click cancel");
                }
            })
            .setNeutralButton("略過", new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int id) {
                    Log.d("Main", "click skip");
                }
            })
            .create();
        dialog.show();

[圖]



要讓使用者輸入資料的話,使用
        final EditText input = new EditText(this);
        AlertDialog dialog = new AlertDialog.Builder(this)
            .setTitle("請輸入你的名稱")
            .setView(input)
            .setPositiveButton("確定", new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int id) {
                    String inputName = input.getText().toString();
                    Log.d("Main", "你輸入的名稱為:" + inputName);
                }
            })
            .setNegativeButton("取消", new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int id) {
                    Log.d("Main", "click cancel");
                }
            })
            .create();
        dialog.show();

[圖]






參考
http://developer.android.com/intl/zh-tw/guide/topics/ui/dialogs.html


--
※ 作者: Knuckles 時間: 2016-02-21 10:35:37
※ 編輯: Knuckles 時間: 2016-09-06 05:02:25
※ 看板: KnucklesNote 文章推薦值: 0 目前人氣: 0 累積人氣: 525 
分享網址: 複製 已複製
r)回覆 e)編輯 d)刪除 M)收藏 ^x)轉錄 同主題: =)首篇 [)上篇 ])下篇