对话框Dialog在android基本用法很多种简单介绍一下以下四种用法
Button btn1;
Button btn2;
Button btn3;
Button btn4;
final int DIALOG_ONE=1;
final int DIALOG_TWO=2;
btn1= (Button)findViewById(R.id.button1);
btn2= (Button)findViewById(R.id.button2);
btn3= (Button)findViewById(R.id.button3);
btn4= (Button)findViewById(R.id.button4);
第一种简单的点击事件:
btn1.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
Dialog dlg;//1定义Dialog对话框
Builder bd;/2/定义构建器
bd = new AlertDialog.Builder(DialogProjectActivity.this);
bd.setTitle("标题");
bd.setMessage("消息");
bd.setPositiveButton("确定",new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
}
});
dlg = bd.create();//3创建构建器并将其内容赋给对话框
dlg.show();//4显示对话框
}
});
第二个自定义函数实现:
btn2.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
MyDialog().show();
}
private Dialog MyDialog() {
// TODO Auto-generated method stub
Dialog dlg;
Builder bd;
bd = new AlertDialog.Builder(DialogProjectActivity.this);
bd.setTitle("标题");
bd.setMessage("消息");
bd.setPositiveButton("确定",new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
}
});
dlg = bd.create();
return dlg;
}
});
第三种重写OncreateDialog(int)方法:
定义重写
@Override
protected Dialog onCreateDialog(int id) {
// TODO Auto-generated method stub
Dialog dlg;
Builder bd = null;
switch(id)
{
case DIALOG_ONE:
bd = new AlertDialog.Builder(DialogProjectActivity.this);
bd.setTitle("标题");
bd.setMessage("消息");
bd.setPositiveButton("确定",new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
}
});
break;
case DIALOG_TWO:
bd = new AlertDialog.Builder(DialogProjectActivity.this);
bd.setTitle("标题");
bd.setMessage("消息");
bd.setPositiveButton("确定",new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
}
});
break;
}
dlg = bd.create();
dlg.show();
return dlg;
}
实现
btn3.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
showDialog(DIALOG_TWO);
}
});
第四种自定义实现类:
public class DialogTest extends Dialog {
public DialogTest(Context context) {
super(context);
// TODO Auto-generated constructor stub
}
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.dialog);
}
}
btn4.setOnClickListener(new OnClickListener() {public void onClick(View v) {
// TODO Auto-generated method stub
DialogTest dt = new DialogTest(DialogProjectActivity.this);
dt.show();
}
}) ;