android 对话框之AlertDialog&ProgressDialog
2017-02-27 13:13
423 查看
对话框类似于Acitivity,可以在对话框中添加布局和Widget,对话框有两种:AlertDialog&ProgressDialog。
如果是多选框,方法是:setMultiChoiceItems(new String[] {“Item1”, “Item2”},boolean[] checkedItems, OnMultiChoiceClickListener listenter)
注意:setMessage()和setSingleChoiceItems()是显示在同一个地方,同时使用会覆盖掉。只会显示一个。要同时显示message和列表,可采用下面的View来实现。
该方法最后直接调用的show,可在按钮触发事件时直接调用,也可以直接子啊OnCreate()方法中调用showDialog2()。
因为是在对话框下显示,其布局文件要用android类下的系统布局资源和资源id。即:andrid.R.layout.select_dialog_item。
如果view是多选框, 布局文件使用:android.R.layout.select_dialog_multichoice, 还需要设置m_ListView.setChoiceMode(m_ListView.CHOICE_MODE_MULTIPLE);默认情况下是单选框模式。
实现简单的对话框
对话框是单选框和多选框
对话框中显示View示例ListView
ProgressDialog
目录
AlertDialog
AlertDialog是protect类型,无法使用new AlertDialog()创建,必须使用AlertDialog.builder()创建。同时,可以使用showDialog(int id)和dismissDialog(int id)是对话框显示和消失。实现简单的对话框
调用showDialog()方法时,系统会回调onCreateDialog(int id)方法。设置属性包括:标题,消息,图片,“确定”按钮public class MainActivity extends Activity { public final int Dialog_1=1; @SuppressWarnings("deprecation") @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); showDialog(Dialog_1); //showDialog2(); } protected Dialog onCreateDialog(int id){ switch(id){ case Dialog_1: return new AlertDialog.Builder(MainActivity.this).setTitle("DIALOG_1").setMessage("dialog1"). setIcon(android.R.drawable.ic_dialog_info).setNegativeButton("cancel", null). setPositiveButton("confirm", new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO 自动生成的方法存根 showDialog2(); } }).create();//不要忘记调用create()是之生效 default: return null; } }
对话框是单选框和多选框
单选框关键方法是:setSingleChoiceItems(new String[] {“Item1”, “Item2”},int checkedItem, OnClickListener listenter)如果是多选框,方法是:setMultiChoiceItems(new String[] {“Item1”, “Item2”},boolean[] checkedItems, OnMultiChoiceClickListener listenter)
注意:setMessage()和setSingleChoiceItems()是显示在同一个地方,同时使用会覆盖掉。只会显示一个。要同时显示message和列表,可采用下面的View来实现。
protected void showDialog2() { // TODO 自动生成的方法存根 new AlertDialog.Builder(this).setTitle("DIALOG_2").setIcon(android.R.drawable.ic_dialog_info). setSingleChoiceItems(new String[] {"Item1", "Item2"},0, null).setNegativeButton("cancel", null).setPositiveButton("confirm", new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO 自动生成的方法存根 showDialog3(); } }).show(); }
该方法最后直接调用的show,可在按钮触发事件时直接调用,也可以直接子啊OnCreate()方法中调用showDialog2()。
对话框中显示View,(示例ListView)
在对话框中显示listview,其适配器adapter中的属性配置有所不同,SimpleAdapter adapter=new SimpleAdapter(this, listItem, android.R.layout.select_dialog_item, new String[]{"ItemName"}, new int[]{android.R.id.text1});
因为是在对话框下显示,其布局文件要用android类下的系统布局资源和资源id。即:andrid.R.layout.select_dialog_item。
如果view是多选框, 布局文件使用:android.R.layout.select_dialog_multichoice, 还需要设置m_ListView.setChoiceMode(m_ListView.CHOICE_MODE_MULTIPLE);默认情况下是单选框模式。
protected void showDialog3() { // TODO 自动生成的方法存根 ArrayList<HashMap<String, String>> listItem=new ArrayList<HashMap<String,String>>(); HashMap<String, String> map1=new HashMap<String,String>(); map1.put("ItemName", "add"); HashMap<String, String> map2=new HashMap<String,String>(); map2.put("ItemName", "delete"); HashMap<String, String> map3=new HashMap<String,String>(); map3.put("ItemName", "exit"); listItem.add(map1); listItem.add(map2); listItem.add(map3); SimpleAdapter adapter=new SimpleAdapter(this, listItem, android.R.layout.select_dialog_multichoice, new String[]{"ItemName"}, new int[]{android.R.id.text1}); ListView m_ListView=new ListView(this); m_ListView.setAdapter(adapter); m_ListView.setChoiceMode(m_ListView.CHOICE_MODE_MULTIPLE); new AlertDialog.Builder(this).setTitle("DIALOD_4").setMessage("wo de zi ding yi").setIcon(android.R.drawable.ic_dialog_info).setPositiveButton("confirm", new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO 自动生成的方法存根 showDialog4(); } }).setNegativeButton("cancel", null).setView(m_ListView).create().show(); }
ProgressDialog
protected void showDialog4() { // TODO 自动生成的方法存根 ProgressDialog dialog=new ProgressDialog(this); dialog.setMessage("dialog6"); dialog.setCancelable(true); dialog.show(); }
目录
AlertDialog实现简单的对话框
对话框是单选框和多选框
对话框中显示View示例ListView
ProgressDialog
目录
相关文章推荐
- Android 对话框 (AlertDialog & ProgressDialog)
- Android UI学习 - 对话框 (AlertDialog & ProgressDialog)
- Android UI学习 - 对话框 (AlertDialog & ProgressDialog)
- Android笔记:Android UI学习 - 对话框 (AlertDialog & ProgressDialog)
- Android UI学习 - 对话框 (AlertDialog & ProgressDialog)
- Android UI学习 - 对话框 (AlertDialog & ProgressDialog)
- Android UI学习 - 对话框 (AlertDialog & ProgressDialog)
- Android UI学习 - 对话框 (AlertDialog & ProgressDialog)
- Android UI学习 - 对话框 (AlertDialog & ProgressDialog)
- Android UI学习 - 对话框 (AlertDialog & ProgressDialog)
- Android UI学习 - 对话框 (AlertDialog & ProgressDialog)2010-06-16 18:17:21
- 对话框 (AlertDialog & ProgressDialog)
- 对话框 (AlertDialog & ProgressDialog)
- android dialog ——ProgressDialog 进度条对话框详解
- Android AlertDialog警告对话框实现
- Android:AlertDialog.Builder创建常见对话框
- 完全自定义Android对话框AlertDialog的实现
- Android对话框 (AlertDialog & ProgressDialog)
- Android AlertDialog 方法setView(view,0,0,0,0)开发自定义对话框
- android dialog ——ProgressDialog 进度条对话框详解