Android Studio 交談式視窗 AlertDialog (一) 一般對話框 教學

取得相機使用權限這篇文章中有提到交談式視窗,只是沒有詳細的說明

那就趁這個機會好好的解釋一下


什麼是交談式視窗?

就是說顯示訊息給使用者,並且有使用者回應(交談)的視窗

大概長這樣:



這大概是我們最常見的交談式視窗了
我們現在來寫寫看,基本款長這樣:
new AlertDialog.Builder(this)
        .show();

然後再去加入你想要放的東西,例如標題和內容:

.setTitle("訂閱了嗎?")
.setMessage("我很努力寫文章\n請問你訂閱了嗎")
.setPositiveButton("有!",null)


再來是按紐,最多可以有三個按鈕:
是:
.setPositiveButton("有!",null)
不是:
.setNegativeButton("沒有",null)
中立:
.setNeutralButton("改天再問我",null)

這三個後面的null代表沒有監聽事件,也就是說你可以加入監聽事件,讓這三個按鈕按下去後發生不同的事情

拿第一個舉例:
.setPositiveButton("有!", new DialogInterface.OnClickListener() {
    @Override
    public void onClick(DialogInterface dialogInterface, int i) {

    }
})
這樣你就可以在中間寫你想要讓他觸發的事件了

但是在Android 裡面還有一個隱藏按鈕-返回鍵
如果你不想要讓他們按返回鍵跳出的話,那妳可以加這行:
.setCancelable(false)



完整程式碼:


new AlertDialog.Builder(this)
         .setTitle("訂閱了嗎?")
         .setMessage("我很努力寫文章\n請問你訂閱了嗎?")
         .setPositiveButton("有!", new DialogInterface.OnClickListener() {
         @Override
         public void onClick(DialogInterface dialogInterface, int i) {
               //你可以在這裡加入事件
               }
         })
         .setNegativeButton("沒有",null)
         .setNeutralButton("改天再問我",null)
         .setCancelable(false)
         .show();

下一篇:交談式視窗 AlertDialog (二) 條列式對話框



留言