Android Dialog的九种常用形式
来源:互联网 发布:剑网三苍爹捏脸数据 编辑:程序博客网 时间:2024/04/29 12:05
Dialog是常用的一种Android控件,一般常用的形式有九种。
第一种,最常见的普通dialog
private void nomalDialog() {//创建对话框对象:AlertDialog的内部类Builder的对象AlertDialog.Builder builder=new AlertDialog.Builder(MainActivity.this);//给对话框设置图标builder.setIcon(R.drawable.ic_launcher);//设置Titlebuilder.setTitle("Title");//设置对话框的信息内容builder.setMessage("是否删除选中的数据");//设置选择按钮builder.setPositiveButton("删除", new OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {//进行删除操作Toast.makeText(MainActivity.this, "点击了删除按钮", Toast.LENGTH_SHORT).show();}});builder.setNegativeButton("取消", new OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {Toast.makeText(MainActivity.this, "点击了取消----按钮", Toast.LENGTH_SHORT).show();}});//显示对话框builder.show();}
第二种 列表对话框
private void listDialog() {AlertDialog.Builder builder=new AlertDialog.Builder(MainActivity.this);builder.setTitle("请做出选择");builder.setItems(R.array.strs, new OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {Toast.makeText(MainActivity.this, getResources().getStringArray(R.array.strs)[which], Toast.LENGTH_SHORT).show();}});builder.show();}
第三种 单选列表对话框,淘宝取消订单原因就是用的此控件
private void singleDialog() {AlertDialog.Builder builder=new AlertDialog.Builder(MainActivity.this);//strs为在valuse目录下新建一个arrays.mxl文件final String[] strs=getResources().getStringArray(R.array.strs);//给Dialog设置单选选项。参数:1数据源 2默认选中项 3监听builder.setSingleChoiceItems(strs, 1, new OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {System.out.println("===witch=="+which);//Dialog对象 whitch选中项Toast.makeText(MainActivity.this, getResources().getStringArray(R.array.strs)[which], Toast.LENGTH_SHORT).show();}});//选择结束后不会自动消失对话框,so加上按钮builder.setPositiveButton("确定", new OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {System.out.println("===witch=btnclick="+which);}});dialogs = builder.show();}
第四种 多选列表对话框
private void mutiDialog() {AlertDialog.Builder builder=new AlertDialog.Builder(MainActivity.this);final boolean[] checkedState=new boolean[3]; builder.setMultiChoiceItems(R.array.strs, checkedState, new OnMultiChoiceClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which, boolean isChecked) {}}); builder.setPositiveButton("确定", new OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {String str="";for(int i=0;i<3;i++){if(checkedState[i])str+="true";elsestr+="false";}Toast.makeText(MainActivity.this, str, Toast.LENGTH_SHORT).show();}}); builder.show();}
第五种 自定义布局对话框
private void mdefineDialog() {AlertDialog.Builder builder=new AlertDialog.Builder(MainActivity.this);//内容布局转换成ViewView view=View.inflate(MainActivity.this, R.layout.view_dialog, null);//获取Dialog内容View中的控件final EditText etxtv1=(EditText) view.findViewById(R.id.etxtv1);final EditText etxtv2=(EditText) view.findViewById(R.id.etxtv2);builder.setView(view);//把View添加进Dialog//给Dialog添加按钮builder.setPositiveButton("登陆", new OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {Toast.makeText(MainActivity.this,etxtv1.getText().toString()+etxtv2.getText().toString(), Toast.LENGTH_SHORT).show();}});builder.show();}
第六种 进度对话框
private void progressDialog() {ProgressDialog proDia=new ProgressDialog(MainActivity.this);proDia.setMessage("正在加载...");proDia.show();//消失对话框//proDia.dismiss();}
第七种 水平进度对话框
private void progressHDialog() {final ProgressDialog proD=new ProgressDialog(MainActivity.this);//设置进度条的样式proD.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);//设置进度条的最大进度proD.setMax(100);new Thread(new Runnable(){@Overridepublic void run() {for(int i=0;i<=100;i++){try {Thread.sleep(200);proD.setProgress(i);if(i==100){proD.dismiss();}} catch (InterruptedException e) {e.printStackTrace();}}}}).start();proD.show();}
第八种 日期对话框
private void DateDialog() {//日期选择监听器OnDateSetListener DL=new OnDateSetListener() {@Overridepublic void onDateSet(DatePicker view, int year, int monthOfYear,int dayOfMonth) {//参数选择结果:年 月 日Toast.makeText(MainActivity.this,year +":"+monthOfYear+":"+dayOfMonth, Toast.LENGTH_SHORT).show();}};//日期选择对话框:参数1上下文 参数2:监听器 参数...默认显示日期 实际显示的月份比这里设置的月份数会多1个月DatePickerDialog DD=new DatePickerDialog(MainActivity.this, DL, 2015, 4, 12);//显示DD.show();}
第九种 时间对话框
private void TimeDialog() {OnTimeSetListener timeL=new OnTimeSetListener() {@Overridepublic void onTimeSet(TimePicker view, int hourOfDay, int minute) {//参数:参数2选择的小时 参数3:分钟Toast.makeText(MainActivity.this,hourOfDay +":"+minute, Toast.LENGTH_SHORT).show();}};//参数:参数1:上下文对象 参数2:OnTimeSetListener监听器 参数3:对话框弹出以后默认显示时间 参数5:是否是24小时TimePickerDialog time=new TimePickerDialog(MainActivity.this, timeL, 0, 0, false);time.show();}
一般用到的也就这九种,demo下载地址为:http://download.csdn.net/detail/xiaoxiaomao123098/9016217
0 0
- Android Dialog的九种常用形式
- Android Dialog的7种形式
- Dialog的几种形式 Android开发
- Android dialog的几种形式
- Android之dialog的四种形式
- Android Dialog的七种形式
- 【Dialog】7种形式的Android Dialog举例
- android dialog 7种形式
- Android Dialog的7种形式的使用举例
- Dialog的7种形式
- 7种形式的Android Dialog使用举例
- 7种形式的Android Dialog使用举例
- 7种形式的Android Dialog使用举例
- 7种形式的Android Dialog使用举例
- 7种形式的Android Dialog使用举例
- 7种形式的Android Dialog使用举例
- 7种形式的Android Dialog使用举例
- 7种形式的Android Dialog使用举例
- 如何学习FPGA——转自网络
- oracle学习之第一个存储过程:打印Hello World
- mysql数据库root用户密码忘记进行修改的办法
- zabbix监控多实例tomcat--不使用JMX
- HD 2120 Ice_cream's world I 【并查集】
- Android Dialog的九种常用形式
- Java Socket 网络编程常见异常
- KEIL工具,某变量在watch窗口不能实时修改值,其它变量都可以改
- jquery的要点
- js删除数组元素
- lldb与gdb命令比较
- 笔记1
- avast 免费好用的杀毒软件
- java递归删除文件及文件夹