Android常用的几种对话框

1文本提示对话框

 AlertDialog.Builder b = new AlertDialog.Builder(this);//this为上下文,如果在本类里显示,通常使用this
        b.setTitle("标题");/对话框标题
        b.setMessage("可能会删除某个文件");//提示文本
        b.setNegativeButton("取消",null)/*取消按钮,null为无点击事件,编写点击事件需要重写 DialogInterface.OnClickListener()的onClick方法*/

        b.setPositiveButton("确定", null)//确定按钮,点击事件和取消按钮一样
        b.show();   设置完毕,显示对话框

效果图:

 

 

2单选对话框
      

 AlertDialog.Builder b = new AlertDialog.Builder(this);
    b.setTitle("单选对话框");
/*b.setSingleChoiceItems第一个参数为单选按钮组,第二个为默认选择第几个,第三个参数为监听事件*/
    b.setSingleChoiceItems(new String[]{"1", "2", "3", "4", "5", "6"}, 3, new DialogInterface.OnClickListener() {
        @Override
        public void onClick(DialogInterface x, int which) {//   which为当前选中的位置
            which+=1;
            Toast.makeText(MainActivity.this, "选择了第"+which+"个", Toast.LENGTH_SHORT).show();//打印
        }
    });
    b.setPositiveButton("确定", null);/*设置确定按钮,需要重写 DialogInterface.OnClickListener()的onClick方法这里我省略*/
    b.show();
}

效果图:

 

3复选对话框

AlertDialog.Builder b = new AlertDialog.Builder(this);
final String items[]=new String[]{"音乐", "画画", "游泳", "电影", "游戏", "运动"};
boolean[] checks=new boolean[]{false, false, false, false, false, false};
b.setTitle("选择你喜欢的项目:");
/*b.setMultiChoiceItems第一个参数为复选按钮组,第二个为是否默认选中,对应复选按钮组,true为默认选中,第三个为监听事件*/
b.setMultiChoiceItems(items, checks, new DialogInterface.OnMultiChoiceClickListener(){
    @Override
    public void onClick(DialogInterface dialog, int which, boolean isChecked) {
        Toast.makeText(MainActivity.this, "你选择了"+items[which], Toast.LENGTH_SHORT).show();
    }
});
b.setPositiveButton("确定", null);
b.show();//显示对话框

效果如图:

4加载对话框

  ProgressDialog pg = new ProgressDialog(MainActivity.this);
        pg.setTitle("加载.");
        pg.setMessage("请稍等...");
        pg.show();

 

5进度条对话框

        ProgressDialog pg = new ProgressDialog(MainActivity.this);
        pg.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);//声明对话框的样式,进度条
        pg.setMax(100);//设置进度条的最大值
        pg.setTitle("加载.");//设置标题
        pg.setMessage("请稍等...");//设置提示内容
        pg.show();//显示对话框
        pg.setProgress(60);//设置当前进度为60
      效果图:

最后我们来写一个动态的进度条对话框

public  void tips(View view) throws InterruptedException {

    final ProgressDialog pg = new ProgressDialog(MainActivity.this);
    pg.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
    pg.setMax(100);
    pg.setTitle("加载.");
    pg.setMessage("请稍等...");
    pg.show();
    new Thread(){
        public  void  run(){
            for(int i=0;i<=100;i++){
                try {
                    Thread.sleep(100);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
                pg.setProgress(i);
            }
            
        }}.start();

}

效果图:

Guess you like

Origin blog.csdn.net/weixin_44710155/article/details/106254427