android中dialog的简单使用
2015-03-02 21:07
211 查看
http://www.xuanyusong.com/archives/9
普通的弹出对话框:
事件监听:
class MyListener implements OnClickListener{
列表对话框:
单选列表对话框:
复选列表对话框:
自定义对话框:
/**
* 让当前对话框不要关闭
让当前对话框关闭
最后介绍进度条对话框:
开启线程,更新进度:
普通的弹出对话框:
[code] AlertDialog.Builder builder=new Builder(this); builder.setTitle("下载提示:"); builder.setMessage("是否继续下载?"); builder.setIcon(R.drawable.ic_launcher); MyListener listener=new MyListener(); builder.setPositiveButton("是", listener); builder.setNegativeButton("否", listener); builder.setNeutralButton("不确定", listener); AlertDialog dialog=builder.create(); dialog.show();
事件监听:
class MyListener implements OnClickListener{
[code] public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub switch(which){ case DialogInterface.BUTTON_POSITIVE: Toast.makeText(getApplication(), "点击了是", Toast.LENGTH_LONG).show(); break; case DialogInterface.BUTTON_NEUTRAL: Toast.makeText(getApplication(), "点击了不确定", Toast.LENGTH_LONG).show(); break; case DialogInterface.BUTTON_NEGATIVE: Toast.makeText(getApplication(), "点击了否", Toast.LENGTH_LONG).show(); break; } } }
列表对话框:
[code] final String[] items=new String[]{"苹果","香蕉","花蜜瓜"}; builder.setItems(items, new OnClickListener() { public void onClick(DialogInterface dialog, int which) { Toast.makeText(MainActivity.this,items[which], Toast.LENGTH_LONG).show(); } }); //注意 此时对话框不能设置builder.setMessage函数,因为 与builder.setItems冲突
单选列表对话框:
[code] //第二个参数是设置默认的被选项 builder.setSingleChoiceItems(items, 0,new OnClickListener() { public void onClick(DialogInterface dialog, int which) { Toast.makeText(MainActivity.this,items[which], Toast.LENGTH_LONG).show(); } }); //注意 此时对话框不能设置builder.setMessage函数
复选列表对话框:
[code]final String[] items=new String[]{"苹果","香蕉","葡萄","梨"}; final boolean[] checked=new boolean[]{false,true,false,false}; builder.setMultiChoiceItems(items, checked,new OnMultiChoiceClickListener() { public void onClick(DialogInterface dialog, int which, boolean isChecked) { // TODO Auto-generated method stub } }); //注意 此时对话框不能设置builder.setMessage函数 builder.setPositiveButton("确定", new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub ArrayList<String> list=new ArrayList<String>(); for(int i=0;i<items.length;i++){ if(checked[i]){ list.add(items[i]+" "); } } Toast.makeText(MainActivity.this, "选择了:"+list.toString(),Toast.LENGTH_LONG).show(); } });
自定义对话框:
[code] View v=LayoutInflater.from(this).inflate(R.layout.login, null); this.editText_userName=(EditText) v.findViewById(R.id.editText_userName); this.editText_pwd=(EditText) v.findViewById(R.id.editText_pwd); builder.setView(v);
/**
* 让当前对话框不要关闭
[code]protected void notCloseDialog(DialogInterface dialog) { //mShowing try { Field field=dialog.getClass().getSuperclass().getDeclaredField("mShowing"); //取消java的语法检查 field.setAccessible(true); //让当前对话框不可关闭 field.set(dialog, false); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } }
让当前对话框关闭
[code] protected void closeDialog(DialogInterface dialog) { try { Field field=dialog.getClass().getSuperclass().getDeclaredField("mShowing"); //取消java的语法检查 field.setAccessible(true); //让当前对话框可关闭 field.set(dialog, true); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } }
最后介绍进度条对话框:
[code] dialog=new ProgressDialog(this); dialog.setTitle("进度条窗口"); dialog.setIcon(R.drawable.ic_launcher); dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); dialog.setMax(100); dialog.setButton("确定", new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub } }); dialog.setButton2("取消", new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub } }); dialog.show();
开启线程,更新进度:
[code]new Thread(new Runnable() { int progress=0; @Override public void run() { // TODO Auto-generated method stub while(progress<100){ progress++; SystemClock.sleep(100); dialog.setProgress(progress); } dialog.dismiss(); } }).start();
相关文章推荐
- Android 几种常用的Dialog的简单使用
- Android的日期DatePickerDialog和时间TimePickerDialog简单使用
- AndroidUI基础之 TimePickerDialog与 Timpicker 等简单的使用
- Android 简单Dialog的使用.
- Android Dialog简单使用
- android中使用DatePickerDialog和AutoCompleteTextView简单使用
- Android的DialogFragment的简单使用。
- Android中DialogFragment的简单使用及常见问题
- Android简单dialog的使用
- android dialog 的超简单使用
- android AlertDialog的简单使用
- android简单实例--------------------3种特殊dialog的使用,单选、多选、适配器dialog对话框
- android DialogFragment简单使用
- android Alertdialog.Bulider简单使用
- APIDemo学习笔记——Android上几种简单的Animation使用方法(三)——3D Transition
- 【Android游戏开发二十一】Android os设备谎言分辨率的解决方案!以及简单阐述游戏引擎如何使用!
- 【Android游戏开发二十一】Android os设备谎言分辨率的解决方案!以及简单阐述游戏引擎如何使用!
- Android 之 下拉框(Spinner)的简单使用
- android google map 自定义地图的图层 简单使用(二)
- Android Google Map的简单使用(一)