iT邦幫忙

2021 iThome 鐵人賽

DAY 20
0
Mobile Development

android studio 30天初學筆記系列 第 20

Android Studio初學筆記-Day20-AlertDialog(1)

AlertDialog(對話窗功能)

AlertDialog很常在提示或者再次確認資料時看見,其功能我認為相當完整,用起來也相對直覺,我個人認為是個容易學習的實用功能。接下來就讓我講解簡單的三種AlertDialog的用法。
首先他並不算是個元件,需要透過程式碼建立。我將透過兩個不同的按鈕呼叫示範。

介面

https://ithelp.ithome.com.tw/upload/images/20210908/20139136wpNSo1GjD7.png
首先建立第一種一般的方法如下:

public void firstAloert(View v){
        AlertDialog.Builder builder1 = new AlertDialog.Builder(this);
        builder1.setTitle("我是標題")
                .setMessage("AlertDialog紹")
                .setIcon(R.mipmap.ic_launcher);
        builder1.setPositiveButton("確定", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                //放置確定按鈕的功能
            }
        });
        builder1.setNegativeButton("取消", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                //放置取消按鈕的功能
            }
        });
        builder1.setNeutralButton("中立", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                //放置中立按鈕的功能
            }
        });
        builder1.setCancelable(true);
        builder1.show();
    }

透過AlertDialog.Builder builder1 = new AlertDialog.Builder(this)來建立一個對話窗

  • setTitle()負責設定標題
  • setIcon()可以在標題旁設置一個圖案
  • setMessage()負責設定在對話框中的內容

而一般的Alertdialog有三個按鈕分別是PositiveButton,NegativeButton,NeutralButton可以自己分別設定功能。最後最重要的就是.show()的部分,剛開始很容易忘記,不過也不能怕忘記而先寫,這樣會造成寫在之後的功能沒有顯示到。此外setCancelable()可以設定當這個AlertDialog開啟時能否讓手機的返回鍵使用。這裡有個很可惜的地方,就是AlertDialog無法控制按下灰色地區的部分。

成果

https://ithelp.ithome.com.tw/upload/images/20210908/20139136zqu06nufgw.png

不過這種方法不管按甚麼按鈕,都將關閉對話窗,這樣有些打不到痛處的感覺。所以下一回我將講解另一種自定義AlertDialog的方法和加入AlertDialog屬性的設定。今天就先講到這裡,謝謝大家~/images/emoticon/emoticon41.gif


上一篇
Android Studio初學筆記-Day19-SharedPreferences
下一篇
Android Studio初學筆記-Day21-AlertDialog(2)
系列文
android studio 30天初學筆記30

尚未有邦友留言

立即登入留言