Android中Dialog的简单使用
首先先介绍一下对话框和Dialog:
对话框是提示用户作出决定或输入额外信息的小窗口,通常不会填充整个屏幕,用于进行一些额外交互;
而Dialog 类是对话框的基类,但应该避免直接实例化 Dialog,而应使用其子类;
例如:AlertDialog,DatePickerDialog 或 TimePickerDialog
这里列举几个常用的Dialog和使用方法
1.普通Dialog
//普通的AlertDialog对话框
findViewById(R.id.btn_common).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setTitle("我是一个普通的Dialog");
builder.setMessage("你要点哪一个按钮呢?");
builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
toast("取消");
}
});
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
toast("确定");
}
});
AlertDialog dialog = builder.create();
dialog.show();
}
});
2.全局Dialog
这里所说的全局Dialog是一个应用于优先级非常高的通知,就是当前应用无论是处于哪一个页面上,都需要弹出的Dialog来提示用户一些信息,可以用于紧急的通知和提醒。实现方法也不是很复杂,一般项目中我们都会通过一个类来管理我们的Activity,即AppManager,所以只要能获取到当前显示的Activity就行了,也就是栈顶的Activity,再封装一个BaseActivity类统一管理,给各个Activity继承,然后需要主页面或者主类(mainactivity)处理Dialog的显示问题,通过管理APP(AppManager)获取到当前栈顶的Activity,用于构造Dialog就行了。
/** * Activity管理类 * @author Donkor */
public class AppManager{
private static Stack<Activity> activityStack;