protected Dialog onCreateDialog(int id, Bundle args) {
// TODO Auto-generated method stub
// super.onCreateDialog(id, args);
switch (id) {
case DIALOG_WELCOME:
return new AlertDialog.Builder(this).setIcon(R.drawable.amor)
.setTitle(R.string.dialog_welcome_title).setMessage(
R.string.dialog_welcome_message).setPositiveButton(
"确定", new OnClickListener() {
@Override
public void onClick(DialogInterface dialog,
int which) {
// dialog.dismiss();
}
}).create();
default:
return super.onCreateDialog(id, args);
}
}
注:AlertDialog.Builder初始化对话框后,再调用create()方法就可以把设置好的对话框返回了。
对话框的常用设置方法:
方法名 | 描述 |
setIcon | 设置标题图标 |
setTitle | 设置标题文本 |
setCustomTitle | 传入一个View对象作为自定义标题,并使setIcon和setTitle设置的标题失效 |
setMessage | 设置对话框的内容为传入的字符串 |
setItems | 设置对话框的内容为一个列表。需要传入一个字符串数组的资源id.字符串数组资源定义在res/values/array.xml中,下面是在array.xml文件中定义一个字符串的示例: <resources> <array name="difficulty"> <item>@string/easy_label</item> <item>@string/medium_label</item> <item>@string/hard_label</item> </array> </resources> 另外还需要设置 一个监听器来处理列表的元素被单击的事件。 |
setSingleChoiceItems | 设置的内容为单选列表。 |
setMultiChoiceItems | 设置的内容为复选列表。 |
setView | 设置对话框的内容为我们自定义的一个View |
setPositiveButton:确定 setNeurtalButton:中立 setNegativeButton:否定 | 设置对话框底部的按钮,传入一个字符串设置它们显示的文本,和传入一个监听器处理按钮的单击事件。 |
21、DatePickerDialog
public class TestDatePickerDialog extends Activity {
private final int DIALOG_DATEPICKER = 1;
Calendar c;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
c = Calendar.getInstance();
// 传入要显示的Dialog的ID,之后会自动调用onCreateDialog
this.showDialog(DIALOG_DATEPICKER);
}
@Override
protected Dialog onCreateDialog(int id) {
// TODO Auto-generated method stub
switch (id) {
case DIALOG_DATEPICKER:
return new DatePickerDialog(this, new OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year,
int monthOfYear, int dayOfMonth) {
//这里是设置好日期后的回调方法,
//可以根据设置的内容跟新用户界面或者系统时间
}
}, c.get(Calendar.YEAR), c.get(Calendar.MARCH), c
.get(Calendar.DAY_OF_MONTH));
default:
return super.onCreateDialog(id);
}
}
}