Android 调用系统dialog

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Bu_siliang/article/details/84285345
  1. 前几天由于项目中要用到dialog,看了一下系统的dialog,发现符合公司需要,因此刚好写了下来。在此记录并分享一下。
  • 基本样式(普通对话框)
  • 里插入图片描述
    普通样式,调用系统的确定按钮,由于样式比较难看。所以很少用。
    代码:
private void showNormalDialog(){
    //创建dialog构造器
    AlertDialog.Builder normalDialog = new AlertDialog.Builder(this);
    //设置title
    normalDialog.setTitle(getString(R.string.dialog_normal_text));
    //设置icon
    normalDialog.setIcon(R.mipmap.ic_launcher_round);
    //设置内容
    normalDialog.setMessage(getString(R.string.dialog_normal_content));
    //设置按钮
    normalDialog.setPositiveButton(getString(R.string.dialog_btn_confirm_text)
            , new DialogInterface.OnClickListener() {
        @Override
        public void onClick(DialogInterface dialog, int which) {
            Toast.makeText(DialogActivity.this,getString(R.string.dialog_btn_confirm_hint_text)
                    ,Toast.LENGTH_SHORT).show();
            dialog.dismiss();
        }
    });
    //创建并显示
    normalDialog.create().show();
  }
  • 多选对话框
    在这里插入图片描述
    代码:
    /**
     * 弹出评价短语
     *
     * @param pjdyBeans
     */
    public void showDialog(List<PjdyBean> pjdyBeans) {
        ArrayList<String> yourChoices = new ArrayList<>();
        final String[] items = new String[pjdyBeans.size()];    //pjdybeans是所需要的数据源
        // 设置默认选中的选项,全为false默认均未选中
        final boolean initChoiceSets[] = new boolean[pjdyBeans.size()];
        for (int i = 0; i < pjdyBeans.size(); i++) {
            items[i] = pjdyBeans.get(i).getEvaluate();
            initChoiceSets[i] = pjdyBeans.get(i).isBoolean();
        }
        yourChoices.clear();
        AlertDialog.Builder multiChoiceDialog =
                new AlertDialog.Builder(XjPlanListActivity.this);
        multiChoiceDialog.setTitle("选择你需要的评价短语");
        multiChoiceDialog.setMultiChoiceItems(items, initChoiceSets,
                new DialogInterface.OnMultiChoiceClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which,
                                        boolean isChecked) {
                        if (isChecked) {
                            yourChoices.add(items[which]);
                        } else {
                            yourChoices.remove(items[which]);
                        }
                    }
                });
        multiChoiceDialog.setPositiveButton("确定",
                new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        int size = yourChoices.size();
                        String str = "";
                        for (int i = 0; i < size; i++) {
                            str += yourChoices.get(i) + ", ";
                        }
                        mMPiesEditext.setText(str);    //在页面上展示你选择的短语
                    }
                });
        multiChoiceDialog.show();

    }

猜你喜欢

转载自blog.csdn.net/Bu_siliang/article/details/84285345