您的位置:首页 > 移动开发 > Android开发

android中Dialog 的使用例子

2011-07-14 15:07 501 查看
1、新建工程:DialogTest

2、编写布局文件:

(1)、main.xml 代码如下:

View Code

package com.dialogTest;

import com.listeview.R;

import android.app.Activity;
import android.app.AlertDialog;
import android.app.DatePickerDialog;
import android.app.Dialog;
import android.app.ProgressDialog;
import android.app.TimePickerDialog;
import android.app.AlertDialog.Builder;
import android.content.Context;
import android.content.DialogInterface;
import android.os.Bundle;
import android.text.method.CharacterPickerDialog;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class DialogTest extends Activity {
private static final int dialog4 = 4;
private static final int dialog3 = 3;
private static final int dialog2 = 2;
private static final int dialog1 = 1;
/** Called when the activity is first created. */
private Button button01;
private Button button02;
private Button button03;
private Button button04;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

button01=(Button)findViewById(R.id.button01);
button02=(Button)findViewById(R.id.button02);
button03=(Button)findViewById(R.id.button03);
button04=(Button)findViewById(R.id.button04);

button01.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
showDialog(dialog1);
}
});

button02.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
showDialog(dialog2);
}
});

button03.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
showDialog(dialog3);
}
});

button04.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
showDialog(dialog4);
}
});

}
@Override
protected Dialog onCreateDialog(int id) {
// TODO Auto-generated method stub
switch(id){
case dialog1:
return buildDialog1(DialogTest.this);
case dialog2:
return buildDialog2(DialogTest.this);
case dialog3:
return buildDialog3(DialogTest.this);
case dialog4:
return buildDialog4(DialogTest.this);
}
return null;
}
private Dialog buildDialog4(Context context) {
ProgressDialog dialog=new ProgressDialog(context);
dialog.setTitle("正在下载歌曲");
dialog.setMessage("请稍候......");

/*TimePickerDialog dialog=new TimePickerDialog(context, 0, null, 0, 0, false);
dialog.setTitle("时钟");*/

/*DatePickerDialog dialog=new DatePickerDialog(context, 0, null, 0, 0, 0);
dialog.setTitle("日期");*/

return dialog;
}
private Dialog buildDialog3(Context context) {
LayoutInflater inflater=LayoutInflater.from(this);
final View textEntryView=inflater.inflate(R.layout.alert_dialog_text_entry, null);

AlertDialog.Builder builder=new AlertDialog.Builder(context);
builder.setTitle(R.string.alert_diaog_text_entry);

builder.setView(textEntryView); //关键
builder.setPositiveButton(R.string.alert_dialog_ok, new DialogInterface.OnClickListener() {

@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
setTitle("单击对话框上的确定按钮");
}
});
builder.setNegativeButton(R.string.alert_dialog_cancle,new DialogInterface.OnClickListener() {

@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
setTitle("单击了对话框上的取消按钮");
}
});
return builder.create();
}

private Dialog buildDialog2(Context context) {
AlertDialog.Builder builder=new AlertDialog.Builder(context);
builder.setTitle(R.string.alert_dialog_three_buttons_title);
builder.setMessage(R.string.alert_dialog_three_buttons_msg);
builder.setPositiveButton(R.string.alert_dialog_ok, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
setTitle("单击对话框上的确定按钮");
}
});
builder.setNeutralButton(R.string.alert_dialog_something, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
setTitle("点击了对话框上的进入详细按钮");
}
});
builder.setNegativeButton(R.string.alert_dialog_cancle, new DialogInterface.OnClickListener() {

@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
setTitle("单击了对话框上的取消按钮");
}
});
return builder.create();
}

private Dialog buildDialog1(Context context) {
// TODO Auto-generated method stub
AlertDialog.Builder builder=new AlertDialog.Builder(context);
//builder.setIcon(R.drawable.icon);
builder.setTitle(R.string.alert_dialog_two_buttons_title);
builder.setPositiveButton(R.string.alert_dialog_ok, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
setTitle("单击对话框上的确定按钮");
}
});
builder.setNegativeButton(R.string.alert_dialog_cancle, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
setTitle("单击了对话框上的取消按钮");
}
});
return builder.create();
}
}


5、运行效果显示:

主程序:



Dialog1:



Dialog2:



Dialog3:



Dialog4:



另注:如果需要在模拟器中卸载此程序:可用如下命令:adb uninstall com.dialogTest
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: