在Activity中用户可以主动调用的函数是:
showDialog(int id),负责显示标识为id的Dialog,函数如果被调用, 会触发onCreateDialog(int id)
dismissDialog(int id),使对应Dialog在界面中消失
Dialog有两个常见的触发方法:onCreateDialog(int id)和onPrepareDialog(int id,Dialog dialog).当调用了showDialog(int id),如果这个Dialog是第一次生成,则触发onCreateDialog(int id),然后再调用onPrepareDialog(int id,Dialog dialog);(该方法提供了当Dialog生成还没有显示出来的时候,有机会在显示前对Dialog做一些修改的功能。)
生成Dialog
AlertDialog.Builder builder = new AlertDialog.Builder(context)
builder.setIcon(R.drawable.xxx);
builder.setTitle(R.string.xxx);
builder.setPositiveButton(R.string.xxx,new DialogInterface.OnClickListener(){
public void onClick(DialogInterface dialog,int which){
...
}
});
builder.setNegativeButton(R.string.xxx,...);
builder.create();
//给Dialog设置一个View
//通过inflate方法可以将一个xml布局变成一个View实例
LayoutInflater inflater = LayoutInflater.from(Context context);
Final View xx = inflater.inflate(R.layout.xxx,null);
...
Builder.setView(xx);
ProgressDialog 负责显示进度的相关情况,是AlertDialog的一个子类:
ProgressDialog dialog = new ProgressDialog(context);
dialog.setTitle(“xx”);
dialog.setMessage(“xxx”);