Android 对话框Dialog的使用,最基本,最基础的使用
2014-08-13 12:30
477 查看
对话框经常作为Activity的一部分来创建和显示。
你通常应该从protected Dialog Activity.onCreateDialog (int id) 回调方法里创建对话框。
当你使用这个回调函数时,Android系统会有效的设置这个Activity为每个对话框的所有者,
从而自动管理每个对话框的状态并挂靠到Activity上。这样,每个对话框继承这个Activity的特定属性。
比如,当一个对话框打开时,菜单键显示为这个Activity定义的选项菜单。
注意: 如果你决定在onCreateDialog()方法之外创建一个对话框,它将不会被附着到活动上。不过,你可以通过setOwnerActivity(Activity)把它附着到一个活动上。
当你想要显示一个对话框时,调用showDialog(int id) 方法并传递一个唯一标识这个对话框的整数。
当对话框第一次被请求时,Android从你的Activity中调用onCreateDialog(int id),你应该在这里初始化这个对话框Dialog。
这个回调方法被传以和showDialog(int id)相同的ID。当你创建这个对话框后,在Activity的最后返回这个对象。
在对话框被显示之前,Android还调用了可选的回调函数onPrepareDialog(int id, Dialog).
如果你想在每一次对话框被打开时改变它的任何属性,你可以定义这个方法。这个方法在每次打开对话框时被调用,
而onCreateDialog(int) 仅在对话框第一次打开时被调用 。如果你不定义onPrepareDialog(),那么这个对话框将保持和上次打开时一样。这个方法也被传递以对话框的ID,
和在onCreateDialog()中创建的对话框对象。(个人理解是,在Activity里第一次show某个Dialog,
则先调用onCreateDialog,得到返回的Dialog对象并挂靠在Activity,保存Dialog对象的引用,然后才显示Dialog。这样子,
下次再show Dialog就不用重新创建Dialog对象,而是重用旧的) 定义onCreateDialog(int) 和 onPrepareDialog(int, Dialog)
回调函数的最佳方法是使用一个switch 语句来检查传递进来的id 参数。每个case 应该检查一个唯一的对话框ID然后创建和定义相应的对话框
下面是对话框最基本的使用:public class MainActivity extends Activity { Button button; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); button = (Button)findViewById(R.id.buttonId); button.setOnClickListener(new ButtonListener()); } class ButtonListener implements android.view.View.OnClickListener{ @Override public void onClick(View v) { //创建一个AlertDialog.Builer对象,该对象代表了AlertDialog的创建器 AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this); //设置对话框的标题 builder.setTitle("警告对话框"); //设置对话框显示的信息这里有点调皮了,有利于增加记忆 builder.setMessage("手机5秒以后爆炸"); OnClickListener listener = new OnClickListener() { @Override public void onClick(DialogInterface dialog, int buttonId) { Log.d("Dialog", "对话框的按钮被点击,id的值为:" + buttonId); } }; builder.setPositiveButton("确定", listener); //生成AlertDialog对象 AlertDialog dialog = builder.create(); //显示对话框 dialog.show(); } } }
上面是最基本的了
下面延伸下:
加上这句话就是让对话框不可以取消,如果想让其取消把false设置为true;
//设置对话框是否可以取消 builder.setCancelable(false);
同时对话框还可以设置三个按钮:确定,中立,取消。三个
builder.setPositiveButton("确定", listener); builder.setNegativeButton("取消", listener);
builder.setNeutralButton("中立", listener);
后面listener是监听,监听对话框的按钮的操作
链接请点此处
相关文章推荐
- Android开发基础之AlertDialog的列表对话框的使用
- Android开发基础之AlertDialog的单选对话框的使用
- Android UI基础之Dialog对话框的使用
- Android基础入门教程——2.5.4 其他几种常用对话框基本使用
- Android开发中Dialog对话框的使用
- Android中的对话框AlertDialog使用技巧合集
- android基础AlertDialog使用
- Android 里的对话框Dialog 实现机制基础
- Dialog(一)——对话框(Dialog)基本使用
- Android中对话框(dialog)的使用
- Android对话框Dialog的基本用法
- Android开发中Dialog对话框的使用
- Android开发中Dialog对话框的使用
- Java基础之扩展GUI——使用字体对话框(Sketcher 5 displaying a font dialog)
- Dialog(一)——对话框(Dialog)基本使用
- 使用JQUERY UI中的dialog对话框提示,如果点击确认,执行服务端代码的基本代码
- Android开发中Dialog对话框的使用
- android基础AlertDialog使用
- android基础学习(6)-------AlertDialog.Builder提示对话框
- Android基础控件之Button的基本使用