AlertDialog基本使用

1,默認樣式

image.png
AlertDialog.Builder builder = new AlertDialog.Builder(this);
        builder.setTitle("默認標題")//設(shè)置標題
                .setIcon(R.mipmap.error_picture)//設(shè)置標題圖片
                .setMessage("默認文本信息")//設(shè)置內(nèi)容
                .setCancelable(false)//設(shè)置是否可以點擊對話框以外的地方消失
               .setNegativeButton("取消", new DialogInterface.OnClickListener() {
                   @Override
                   public void onClick(DialogInterface dialogInterface, int i) {
                       dialogInterface.dismiss();
                   }
               });

        AlertDialog alertDialog = builder.create();

        alertDialog.show();

2,兩個按鈕樣式

image.png
AlertDialog.Builder builder = new AlertDialog.Builder(this);
        builder.setTitle("默認標題")//設(shè)置標題
                .setIcon(R.mipmap.error_picture)//設(shè)置標題圖片
                .setMessage("默認文本信息")//設(shè)置內(nèi)容
                .setCancelable(false)//設(shè)置是否可以點擊對話框以外的地方消失
                .setNegativeButton("取消", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {
                        dialogInterface.dismiss();
                    }
                }).setPositiveButton("確定",(dialog,i) ->{
                    dialog.dismiss();
        });

        AlertDialog alertDialog = builder.create();

        alertDialog.show();

3,三個按鈕樣式

image.png
   AlertDialog.Builder builder = new AlertDialog.Builder(this);
        builder.setTitle("默認標題")//設(shè)置標題
                .setIcon(R.mipmap.error_picture)//設(shè)置標題圖片
                .setMessage("默認文本信息")//設(shè)置內(nèi)容
                .setCancelable(false)//設(shè)置是否可以點擊對話框以外的地方消失
                .setNegativeButton("取消", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {
                        dialogInterface.dismiss();
                    }
                })
                .setPositiveButton("確定",(dialog,i) ->{
                    dialog.dismiss();
        })
        .setNeutralButton("左側(cè)", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialogInterface, int i) {
                ToastUtils.showShort("左側(cè)");
            }
        })
                //列表樣式
//                .setItems(item, new DialogInterface.OnClickListener() {
//                    @Override
//                    public void onClick(DialogInterface dialogInterface, int i) {
//                        ToastUtils.showShort(item[i]);
//                    }
//                })
       ;

        AlertDialog alertDialog = builder.create();

        alertDialog.show();

4,列表選擇

image.png
 private String [] item = {"游戲","運動","電影","旅游","看書","運動","電影","旅游","看書"};
    public void alertDialogOne(View view) {
        AlertDialog.Builder builder = new AlertDialog.Builder(this);
        builder.setTitle("默認標題")//設(shè)置標題
                .setIcon(R.mipmap.error_picture)//設(shè)置標題圖片
                //.setMessage("默認文本信息")//設(shè)置內(nèi)容
                .setCancelable(false)//設(shè)置是否可以點擊對話框以外的地方消失
                .setNegativeButton("取消", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {
                        dialogInterface.dismiss();
                    }
                })
                .setPositiveButton("確定",(dialog,i) ->{
                    dialog.dismiss();
        })
        .setNeutralButton("左側(cè)", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialogInterface, int i) {
                ToastUtils.showShort("左側(cè)");
            }
        })
                //列表樣式
                .setItems(item, new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {
                        ToastUtils.showShort(item[i]);
                    }
                })
       ;

        AlertDialog alertDialog = builder.create();

        alertDialog.show();
    }

5,單選列表

image.png
private String [] item = {"游戲","運動","電影","旅游","看書","運動","電影","旅游","看書"};
    public void alertDialogOne(View view) {
        AlertDialog.Builder builder = new AlertDialog.Builder(this);
        builder.setTitle("默認標題")//設(shè)置標題
                .setIcon(R.mipmap.error_picture)//設(shè)置標題圖片
                //.setMessage("默認文本信息")//設(shè)置內(nèi)容
                .setCancelable(false)//設(shè)置是否可以點擊對話框以外的地方消失
                .setNegativeButton("取消", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {
                        dialogInterface.dismiss();
                    }
                })
                .setPositiveButton("確定",(dialog,i) ->{
                    dialog.dismiss();
        })
        .setNeutralButton("左側(cè)", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialogInterface, int i) {
                ToastUtils.showShort("左側(cè)");
            }
        })
                //列表樣式
//                .setItems(item, new DialogInterface.OnClickListener() {
//                    @Override
//                    public void onClick(DialogInterface dialogInterface, int i) {
//                        ToastUtils.showShort(item[i]);
//                    }
//                })
                //默認選中第一個
        .setSingleChoiceItems(item, 1, new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialogInterface, int i) {
                ToastUtils.showShort(item[i]);
            }
        })
       ;

        AlertDialog alertDialog = builder.create();

        alertDialog.show();
    }

6,多選列表

image.png
private String [] item = {"游戲","運動","電影","旅游","看書","運動","電影","旅游","看書","電影","旅游","看書"};
    // 設(shè)置boolean數(shù)組所有的選項設(shè)置默認沒選
      boolean[] bools = {false,false,false,false,false,false,false,false,false,false,false,false};
    public void alertDialogOne(View view) {
        AlertDialog.Builder builder = new AlertDialog.Builder(this);
        builder.setTitle("默認標題")//設(shè)置標題
                .setIcon(R.mipmap.error_picture)//設(shè)置標題圖片
                //.setMessage("默認文本信息")//設(shè)置內(nèi)容
                .setCancelable(false)//設(shè)置是否可以點擊對話框以外的地方消失
                .setNegativeButton("取消", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {
                        dialogInterface.dismiss();
                    }
                })
                .setPositiveButton("確定",(dialog,i) ->{
                    dialog.dismiss();
        })
        .setNeutralButton("左側(cè)", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialogInterface, int i) {
                ToastUtils.showShort("左側(cè)");
            }
        })
                //列表樣式
//                .setItems(item, new DialogInterface.OnClickListener() {
//                    @Override
//                    public void onClick(DialogInterface dialogInterface, int i) {
//                        ToastUtils.showShort(item[i]);
//                    }
//                })
                //默認選中第一個
//        .setSingleChoiceItems(item, 1, new DialogInterface.OnClickListener() {
//            @Override
//            public void onClick(DialogInterface dialogInterface, int i) {
//                ToastUtils.showShort(item[i]);
//            }
//        })
        .setMultiChoiceItems(item, bools, new DialogInterface.OnMultiChoiceClickListener() {
            @Override
            public void onClick(DialogInterface dialogInterface, int i, boolean b) {
                ToastUtils.showShort(item[i]);
            }
        })
       ;

        AlertDialog alertDialog = builder.create();

        alertDialog.show();
    }

7,使用適配器

image.png
   ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,item);
                AlertDialog.Builder builder = new AlertDialog.Builder(this);
              builder.setTitle("使用適配器");
                builder.setAdapter(adapter, new DialogInterface.OnClickListener() {
            @Override
           public void onClick(DialogInterface dialog, int which) {
                                Toast.makeText(DialogActivity.this, "選擇了"+item[which], Toast.LENGTH_SHORT).show();
                             }
        });
               AlertDialog alertDialog = builder.create();
                alertDialog.show();

8,自定義樣式

image.png
  AlertDialog.Builder builder = new AlertDialog.Builder(this);
        builder.setTitle("默認標題")//設(shè)置標題
                .setIcon(R.mipmap.error_picture)//設(shè)置標題圖片
                .setView(R.layout.dialog_test_one)
                //.setMessage("默認文本信息")//設(shè)置內(nèi)容
                .setCancelable(false)//設(shè)置是否可以點擊對話框以外的地方消失
                .setNegativeButton("取消", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {
                        dialogInterface.dismiss();
                    }
                })
                .setPositiveButton("確定",(dialog,i) ->{
                    dialog.dismiss();
        })
        .setNeutralButton("左側(cè)", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialogInterface, int i) {
                ToastUtils.showShort("左側(cè)");
            }
        })
                //列表樣式
       ;

        AlertDialog alertDialog = builder.create();
        alertDialog.show();

8,設(shè)置按鈕顏色

  dialog.show();
        dialog.getButton(AlertDialog.BUTTON_POSITIVE).setTextColor(Color.BLUE);
        dialog.getButton(DialogInterface.BUTTON_NEGATIVE).setTextColor(Color.BLACK);
 //都需要在調(diào)用AlertDialog的show()方法后進行,否則會報錯  
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1、通過CocoaPods安裝項目名稱項目信息 AFNetworking網(wǎng)絡(luò)請求組件 FMDB本地數(shù)據(jù)庫組件 SD...
    陽明AI閱讀 16,208評論 3 119
  • 前言 最近在群里發(fā)現(xiàn)有人問類似于高斯模糊的效果怎么實現(xiàn),正好前段時間作者開源的RN項目OneM中使用到了這一技術(shù),...
    光強_上海閱讀 10,053評論 0 10
  • 1.老羅為您嚴肅導航--語音包(真的很嚴肅耶,) 羅永浩為您嚴肅導航--荔枝FM 2.“做的不一樣是為了更好,不是...
    安卓開發(fā)大叔閱讀 1,023評論 0 1
  • 2017年3月30日 到1995年3月30日 時間過的好快呀,從丫丫學語 到亭亭玉立的小美女。希望時間過得慢些,...
    野心璐閱讀 243評論 0 0
  • 新?lián)Q的一份工作,終于轉(zhuǎn)正了。這是一件階段性比較讓人開心的事情。 針對自己三個月來的試用期,想要復盤一下。 1、品牌...
    依米Nina閱讀 1,117評論 0 0

友情鏈接更多精彩內(nèi)容