最新的项目需求中,应用到了Dialog。之前也是有用过,但当时没有用心记下来。这一次,来一个更全一些的信息记录,给自己一个交代。 先构建基本的显示方法:
    /**     * 测试其他弹出框     *     * @param str     */    private void showDialog(String str) {        new AlertDialog.Builder(MainActivity.this)                .setMessage(str)                .show();    }
1.确定取消对话框
对话框中有2个按钮 通过调用 setPositiveButton 方法 和 setNegativeButton 方法 可以设置按钮的显示内容以及按钮的监听事件。
    /**     * 確定取消框     */    private void showEnsureOrNotDialog() {        AlertDialog.Builder builder = new AlertDialog.Builder(this);        builder.setIcon(R.drawable.superman);        builder.setTitle("確定取消框");        builder.setPositiveButton("確定", new DialogInterface.OnClickListener() {            @Override            public void onClick(DialogInterface dialog, int which) {                Toast.makeText(MainActivity.this, "您點擊了確定按鈕", Toast.LENGTH_SHORT).show();            }        });        builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {            @Override            public void onClick(DialogInterface dialog, int which) {                Toast.makeText(MainActivity.this, "您点击了取消按钮", Toast.LENGTH_SHORT).show();            }        });        builder.create().show();    }
2.多个按钮信息框
    /**     * 多个选择信息框     */    private void showMultiChoice() {        AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);        builder.setIcon(R.drawable.iron_man);        builder.setTitle("多个选择信息框--投票");        builder.setMessage("你喜欢哪个动作明星?");        builder.setPositiveButton("李连杰", new DialogInterface.OnClickListener() {            @Override            public void onClick(DialogInterface dialog, int which) {                showDialog("你选择了--李连杰");            }        });        builder.setNeutralButton("成龙", new DialogInterface.OnClickListener() {            @Override            public void onClick(DialogInterface dialog, int which) {                showDialog("你选择了--成龙");            }        });        builder.setNeutralButton("甄子丹", new DialogInterface.OnClickListener() {            @Override            public void onClick(DialogInterface dialog, int which) {                showDialog("你选择了--甄子丹");            }        });        builder.setNegativeButton("吴京", new DialogInterface.OnClickListener() {            @Override            public void onClick(DialogInterface dialog, int which) {                showDialog("你选择了--吴京");            }        });        builder.create().show();    }
3,单选列表框
    /**     * 展示单选列表框     */    private void showSingleChoice() {        AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);        builder.setIcon(R.drawable.panda);        builder.setTitle("单项选择");        builder.setSingleChoiceItems(mItems, 0, new DialogInterface.OnClickListener() {            @Override            public void onClick(DialogInterface dialog, int which) {                singleChoiceId = which;                showDialog("您选择了第" + which + "项,内容是:" + mItems[which]);            }        });        builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {            @Override            public void onClick(DialogInterface dialog, int which) {                showDialog("确定");            }        });        builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {            @Override            public void onClick(DialogInterface dialog, int which) {                showDialog("取消");            }        });        builder.create().show();    }
4,列表框
/** * 列表展示,多项选择 */private void showMultiListChoice() {    AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);    builder.setTitle("列表框多选");    builder.setItems(mItems, new DialogInterface.OnClickListener() {        @Override        public void onClick(DialogInterface dialog, int which) {            showDialog("你选择了第" + which + "项,你认为最重要的是:" + mItems[which]);        }    });    builder.create().show();}
5,进度展示
  /**     * 进度条展示     */    private void showProgressDialog() {        final ProgressDialog progressDialog = new ProgressDialog(MainActivity.this);        progressDialog.setIcon(R.drawable.panda1);        progressDialog.setTitle("进度条展示窗口");        progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);        progressDialog.setMax(100);        progressDialog.setButton("确定", new DialogInterface.OnClickListener() {            @Override            public void onClick(DialogInterface dialog, int which) {                showDialog("确定");                progressDialog.dismiss();            }        });        progressDialog.setButton2("取消", new DialogInterface.OnClickListener() {            @Override            public void onClick(DialogInterface dialog, int which) {                showDialog("取消");                progressDialog.dismiss();            }        });        progressDialog.show();        new Thread() {            @Override            public void run() {                int progress = 0;                while (progress < 100) {                    try {                        Thread.sleep(100);                        progress++;                        progressDialog.incrementProgressBy(5);                    } catch (InterruptedException e) {                        e.printStackTrace();                    }                }                super.run();            }        }.start();    }
6,读取进度展示
    /**     * 读取进度     */    private void readProgressProgress() {        ProgressDialog  mProgressDialog = new ProgressDialog(this);        mProgressDialog.setTitle("读取ing");        mProgressDialog.setMessage("正在读取中请稍候");        mProgressDialog.setIndeterminate(true);        mProgressDialog.setCancelable(true);        mProgressDialog.show();    }
7,自定义布局框展示
    /**     * 展示自定义布局     */    private void showSelfDefine() {        AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);        LayoutInflater factory = LayoutInflater.from(this);        final View textEntryView = factory.inflate(R.layout.self_define_view, null);        builder.setIcon(R.drawable.bired);        builder.setTitle("自定义输入框");        builder.setView(textEntryView);        builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {            public void onClick(DialogInterface dialog, int whichButton) {                EditText userName = (EditText) textEntryView.findViewById(R.id.etUserName);                EditText password = (EditText) textEntryView.findViewById(R.id.etPassWord);                showDialog("姓名 :"  + userName.getText().toString()  + "密码:" + password.getText().toString() );            }        });        builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {            public void onClick(DialogInterface dialog, int whichButton) {            }        });        builder.create().show();    }
8,选项列表结果多个展示框
    /**     * 展示列表选项多个展示框     */    private void showMultiResult() {        final ArrayList<Integer> resultId = new ArrayList<>();        final AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);        resultId.clear();        builder.setIcon(R.drawable.master);        builder.setTitle("多项选择");        builder.setMultiChoiceItems(mItems, new boolean[]{false, false, false, false,false}, new DialogInterface.OnMultiChoiceClickListener() {            @Override            public void onClick(DialogInterface dialog, int which, boolean isChecked) {                if (isChecked) {                    resultId.add(which);                    showDialog("你选择了第" + which + "个,内容是" + mItems[which]);                } else {                    resultId.remove(which);                }            }        });        builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {            @Override            public void onClick(DialogInterface dialog, int which) {                String str = "";                int size = resultId.size();                for(int i=0;i<size;i++){                    str+=mItems[resultId.get(i)]+"fenge";                }                showDialog(str);            }        });        builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {            @Override            public void onClick(DialogInterface dialog, int which) {            }        });        builder.create().show();    }
公共的变量:
/** * 选择列表数据 */final String[] mItems = {"学习力", "记忆力", "身体", "强大心理素质", "创造力"};/** * 默认被选中的ID */int singleChoiceId = -1;

这算是一个循环往复,学习不断进化、优化~~


源码
理由是给弱者的安慰~~

更多相关文章

  1. 去掉安装地图
  2. okHttpUtils(hongyang)的配置及使用(网络框架)
  3. 【Android学习笔记】双屏开发 Presentation副屏/客显的使用
  4. Android(安卓)仿抖音列表
  5. Android实现ViewPager滑动播放视频,ViewPager+Fragment取消懒加载
  6. 安卓开发----TextView控件属性列表
  7. Android(安卓)实现用户列表信息的功能,然后选择删除幻灯片删除功
  8. Android读取应用列表权限漏洞
  9. Android在开发中的实用技巧之ExpandableListView简单实现商品列

随机推荐

  1. android sqlite 一次创建多个表
  2. Android代码混淆官方实现方法
  3. 【Android】自定义控件系列之TextView设
  4. android开心网语音发送模块的录音功能
  5. android 手势
  6. Android(安卓)Socket网络通信
  7. android左右滑动监听,上下滑动
  8. android获取指定路径下目录文件
  9. android模拟返回键
  10. android 飞行模式 注册广播后 三种状态监