騰訊QMUI Android框架使用(三)QMUIDialog

QMUIDialog

提供了一系列常用的對(duì)話框,解決了使用系統(tǒng)默認(rèn)對(duì)話框時(shí)在不同 Android 版本上的表現(xiàn)不一致的問題。使用不同的 Builder 來構(gòu)建不同類型的對(duì)話框,這些 Builder 都擁有設(shè)置 title 和添加底部按鈕的功能,不同的 Builder 特有的作用如下:
1.MessageDialogBuilder: 消息類型的對(duì)話框 Builder。通過它可以生成一個(gè)帶標(biāo)題、文本消息、按鈕的對(duì)話框。
2.ConfirmMessageDialogBuilder: 帶 Checkbox 的消息確認(rèn)框 Builder。
3.EditTextDialogBuilder: 帶輸入框的對(duì)話框 Builder。
4.MenuDialogBuilder: 菜單對(duì)話框 Builder。
5.CheckableDialogBuilder: 單選類型的對(duì)話框 Builder。
6.MultiCheckableDialogBuilder: 多選類型的對(duì)話框 Builder。
7.CustomDialogBuilder: 自定義對(duì)話框內(nèi)容區(qū)域的 Builder。
8.AutoResizeDialogBuilder: 隨鍵盤升降自動(dòng)調(diào)整 Dialog 高度的 Builder

設(shè)計(jì)模式和Dialog一樣,所以用法也沒什么差異

消息類型對(duì)話框(藍(lán)色按鈕)

 /**
     * 消息類型對(duì)話框(藍(lán)色按鈕)
     */
    private void showMessagePositiveDialog() {

        new QMUIDialog.MessageDialogBuilder(context)
                .setMessage("標(biāo)題")
                .setTitle("確認(rèn)要發(fā)送嗎?")
                .addAction("取消", new QMUIDialogAction.ActionListener() {
                    @Override
                    public void onClick(QMUIDialog dialog, int index) {
                        dialog.dismiss();
                    }
                })
                .addAction("確認(rèn)", new QMUIDialogAction.ActionListener() {
                    @Override
                    public void onClick(QMUIDialog dialog, int index) {
                        dialog.dismiss();
                    }
                })
                .create(mCurrentDialogStyle).show();
    }
}
微信圖片_201904011130572.png

菜單類型對(duì)話框

   /**
     * 菜單類型對(duì)話框
     */
    private void showMenuDialog() {
        final  String strs  []=new String[]{"選項(xiàng)一","選項(xiàng)二","選項(xiàng)三"};
        new QMUIDialog.MenuDialogBuilder(context)
                .addItems(strs, new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        Toast.makeText(context,"我點(diǎn)第"+"which"+"個(gè)",Toast.LENGTH_SHORT).show();
                    }
                }).create(mCurrentDialogStyle).show();
    }

微信圖片_201904011130571.png

帶checkbox的消息確認(rèn)框

 /**
     * 帶checkbox的消息確認(rèn)框
     */
    private void showConfirmMessageDialog() {
        new QMUIDialog.CheckBoxMessageDialogBuilder(context)
                .setTitle("退出后是否刪除賬號(hào)信息?")
                .setMessage("刪除賬號(hào)信息")
                .setChecked(true)
                .addAction("取消", new QMUIDialogAction.ActionListener() {
                    @Override
                    public void onClick(QMUIDialog dialog, int index) {

                    }
                })
                .addAction("退出", new QMUIDialogAction.ActionListener() {
                    @Override
                    public void onClick(QMUIDialog dialog, int index) {

                    }
                })
                .create(mCurrentDialogStyle)
                .show();

    }

微信圖片_201904011130575.png

單選類型對(duì)話框

 /**
     * 單選菜單
     */
    private void showSingleChoiceDialog() {
        final  String [] strs=new  String[]{"選項(xiàng)一","選項(xiàng)二","選項(xiàng)三"};
        final  int checkIndex=1;
        new QMUIDialog.CheckableDialogBuilder(context)
                .addItems(strs, new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        Toast.makeText(context,"選擇一"+"which",Toast.LENGTH_SHORT).show();
                    }
                })
                .setCheckedIndex(checkIndex)
                .create(mCurrentDialogStyle)
                .show();

    }
微信圖片_201904011130574.png

多選類型對(duì)話框


    /**
     * 多選菜單
     */
    private void showMultiChoiceDialog() {
        final  String items []=new String[]{"選項(xiàng)1","選項(xiàng)2","選項(xiàng)3","選項(xiàng)4","選項(xiàng)5","選項(xiàng)6","選項(xiàng)7","選項(xiàng)8"};
        final QMUIDialog.MultiCheckableDialogBuilder builder = new QMUIDialog.MultiCheckableDialogBuilder(context)
                .addItems(items, new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {

                    }
                })
                .setCheckedItems(new int[]{1, 3});
        builder.addAction("取消", new QMUIDialogAction.ActionListener() {
            @Override
            public void onClick(QMUIDialog dialog, int index) {

            }
        });
        builder.addAction("確定", new QMUIDialogAction.ActionListener() {
            @Override
            public void onClick(QMUIDialog dialog, int index) {
                String result="你選擇了";
                for(int i=0;i<builder.getCheckedItemIndexes().length;i++){
                    result+=""+builder.getCheckedItemIndexes()[i]+"";
                    Toast.makeText(context, result, Toast.LENGTH_SHORT).show();
                    dialog.dismiss();
                }
            }
        });
        builder.create(mCurrentDialogStyle).show();

    }
微信圖片_201904011130573.png

帶輸入框的對(duì)話框

 /**
     * 帶輸入框的dialog
     */
    private void showEditTextDialog() {
        final QMUIDialog.EditTextDialogBuilder builder = new QMUIDialog.EditTextDialogBuilder(context);
        builder.setTitle("我是標(biāo)題");
        builder.setPlaceholder("在此輸入昵稱");
        builder.setInputType(InputType.TYPE_CLASS_TEXT);
        builder.addAction("取消", new QMUIDialogAction.ActionListener() {
            @Override
            public void onClick(QMUIDialog dialog, int index) {

            }
        });
        builder.addAction("確定", new QMUIDialogAction.ActionListener() {
            @Override
            public void onClick(QMUIDialog dialog, int index) {
                String inputStr=builder.getEditText().getText().toString();
                if(!TextUtils.isEmpty(inputStr)){
                    Toast.makeText(context,inputStr,Toast.LENGTH_SHORT).show();
                    dialog.dismiss();
                }else{
                    Toast.makeText(context,"請(qǐng)輸入昵稱",Toast.LENGTH_SHORT).show();
                }

            }
        });
        builder.create(mCurrentDialogStyle).show();

    }
微信圖片_20190401113057.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

  • 專業(yè)考題類型管理運(yùn)行工作負(fù)責(zé)人一般作業(yè)考題內(nèi)容選項(xiàng)A選項(xiàng)B選項(xiàng)C選項(xiàng)D選項(xiàng)E選項(xiàng)F正確答案 變電單選GYSZ本規(guī)程...
    小白兔去釣魚閱讀 10,655評(píng)論 0 13
  • 騰訊QMUI Android框架使用(一)入門及目錄 開始使用 qmui 1.引入庫 2.配置主題 把項(xiàng)目的 th...
    歲月靜好淺笑安然閱讀 28,395評(píng)論 1 14
  • ¥開啟¥ 【iAPP實(shí)現(xiàn)進(jìn)入界面執(zhí)行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開一個(gè)線程,因...
    小菜c閱讀 7,378評(píng)論 0 17
  • 又到了周末接你回家的日子,從媽媽牽著你的手開始,就開始了這一周的分享:聊同學(xué),聊老師,聊新鮮事,聊生...
    Feng_e6c1閱讀 331評(píng)論 0 1
  • 驕陽射穿你的影子 時(shí)光在額角刻下印記 人生的旅程里 一步路就是一個(gè)故事 看稚嫩的歷史皺紋的今天 你掂量出日子的沉重...
    皖南醫(yī)學(xué)院閱讀 190評(píng)論 0 0

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