欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android Dialog详解及实例代码

程序员文章站 2024-01-27 14:33:46
 android dialog详解及实例代码 概述: android开发中最常用的就是dialog类,除了自定义dialog布局,最多的就是用在弹出对话框、进...

 android dialog详解及实例代码

概述:

android开发中最常用的就是dialog类,除了自定义dialog布局,最多的就是用在弹出对话框、进度条、输入框、单选、复选框。

1、选择对话框:

alertdialog.builder dialog = new alertdialog.builder(this); 
dialog.settitle("选择对话框"); 
dialog.setmessage("请选择确认或取消"); 
dialog.setcancelable(false); //设置按下返回键不能消失 
dialog.setpositivebutton("确认", new dialoginterface.onclicklistener() { 
  @override 
  public void onclick(dialoginterface dialog, int which) { 
    toast.maketext(mainactivity.this, "您选择了确认", toast.length_long).show(); 
      } 
    }); 
    dialog.setnegativebutton("取消", new dialoginterface.onclicklistener() { 
      @override 
      public void onclick(dialoginterface dialog, int which) { 
        toast.maketext(mainactivity.this, "您选择了取消", toast.length_long).show(); 
      } 
    }); 
dialog.show();//显示弹出窗口 

2、进度条

progressdialog progressdialog = new progressdialog(this); 
progressdialog.settitle("显示进度条"); 
progressdialog.setmessage("加载中..."); 
progressdialog.setcancelable(true); 
progressdialog.show(); 

3、弹出输入框

alertdialog.builder builder = new alertdialog.builder(this); 
builder.settitle("弹出输入框"); 
builder.setmessage("输入内容"); 
final edittext edittext = new edittext(this); 
builder.setview(edittext); 
builder.setpositivebutton("确定", new dialoginterface.onclicklistener() { 
      @override 
  public void onclick(dialoginterface dialog, int which) { 
    toast.maketext(mainactivity.this, "您输入了" + edittext.gettext().tostring(), toast.length_short).show(); 
      } 
  }); 
builder.setnegativebutton("取消", null); 
builder.show(); 

4、弹出单选框

final alertdialog.builder builder = new alertdialog.builder(this); 
builder.settitle("弹出单选框"); 
final string[] choice = new string[]{"java", "c++", "php"}; 
builder.setsinglechoiceitems(choice, 0, 
  new dialoginterface.onclicklistener() { 
    @override 
    public void onclick(dialoginterface dialog, int which) { 
      toast.maketext(mainactivity.this, "您选择了" + choice[which], toast.length_long).show(); 
      dialog.dismiss(); // 让窗口消失 
    } 
  }); 
builder.create().show(); 

5、弹出复选框

final alertdialog.builder builder = new alertdialog.builder(this); 
builder.settitle("弹出多选框"); 
final string[] choice = new string[]{"android", "ios", "windos phone"}; // 选择项 
final boolean[] ischeck = new boolean[choice.length]; // 是否被选中 
builder.setmultichoiceitems(choice, null, 
  new dialoginterface.onmultichoiceclicklistener() { 
    @override 
    public void onclick(dialoginterface dialog, int which, boolean ischecked) { 
      if (ischecked == true) 
        ischeck[which] = true; 
      else if(ischecked == false) 
        ischeck[which] = false; 
     } 
  }); 
builder.setnegativebutton("取消", null); 
builder.setpositivebutton("确定", new dialoginterface.onclicklistener() { 
  @override 
  public void onclick(dialoginterface dialog, int which) { 
    string isselected = "您选择了"; 
    for (int i = 0; i < choice.length; i++) { 
      if (ischeck[i] == true) { 
        isselected += choice[i]+","; // 将选择的内容加上 
      } 
    } 
    toast.maketext(mainactivity.this, isselected, toast.length_long).show(); 
   } 
}); 
builder.create(); 
builder.show(); 


6、自定义布局的dialog

alertdialog.builder builder = new alertdialog.builder(this); 
 final alertdialog dialog = builder.create(); 
 view view = view.inflate(this, r.layout.personal_modifyhead_dialog, null); 
 dialog.setview(view, 0, 0, 0, 0);// 设置边距为0,保证在2.x的版本上运行没问题 
 dialog.show(); 
 
 autorelativelayout rl_photograph = (autorelativelayout) view.findviewbyid(r.id.rl_photograph); 
 rl_photograph.setonclicklistener(new view.onclicklistener() { 
   @override 
   public void onclick(view v) { 
     presenter.modiftheadfromphotograph(); 
     dialog.dismiss(); 
   } 
 }); 
 
 autorelativelayout rl_album = (autorelativelayout) view.findviewbyid(r.id.rl_album); 
 rl_album.setonclicklistener(new view.onclicklistener() { 
   @override 
   public void onclick(view v) { 
     presenter.modifyheadfromalbum(); 
     dialog.dismiss(); 
   } 
 }); 

上面就是日常开发中常用的一些,在此记录,以便日后查询。

 感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!