一,日期对话框
代码:
//日期时间对话框 //获得时间相关实例,目的是为了初始化日期选择对话框弹出来的初始时间 Calendar calender=Calendar.getInstance(); calender.setTimeInMillis(System.currentTimeMillis()); int year=calender.get(Calendar.YEAR); int monthOfYear=calender.get(Calendar.MONTH); int dayOfMonth=calender.get(Calendar.DAY_OF_MONTH); //通过DatePickerDialog来创建日期选择对话框 DatePickerDialog dpd=new DatePickerDialog(this,new OnDateSetListener(){ @Override public void onDateSet(DatePicker arg0, int arg1, int arg2, int arg3) { // TODO 这里天津当前时间被设置后的回调方法 } },year,monthOfYear,dayOfMonth); dpd.show();
二,时间对话框
代码:
//时间选择对话框
Calendar calendar=Calendar.getInstance();
new TimePickerDialog(this,new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker arg0, int arg1, int arg2) {
}
}, calendar.get(Calendar.HOUR_OF_DAY),calendar.get(Calendar.MINUTE),true).show();
三,拖动对话框

首先是布局文件:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<SeekBar
android:id="@+id/seekBar1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_margin="10dp" />
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/seekBar1"
android:layout_centerHorizontal="true"
android:layout_marginTop="88dp"
android:text="TextView" />
</RelativeLayout>
代码设置:
//拖动对话框
Dialog dialog=new Dialog(this);
dialog.setTitle("拖动对话框");
//将布局文件加入到对话框中
dialog.setContentView(R.layout.main2);
SeekBar sbar=(SeekBar)dialog.findViewById(R.id.seekBar1);
sbar.setMax(10);
final TextView tview=(TextView)dialog.findViewById(R.id.textView1);
tview.setText("当前的进度为:"+sbar.getProgress());
sbar.setOnSeekBarChangeListener(new OnSeekBarChangeListener(){
@Override
//当进度变化时回调该函数
public void onProgressChanged(SeekBar arg0, int arg1, boolean arg2) {
// TODO Auto-generated method stub
tview.setText("当前的进度为:"+arg0.getProgress());
}
@Override
//开始拖动时回调
public void onStartTrackingTouch(SeekBar arg0) {
// TODO Auto-generated method stub
}
@Override
//停止拖动时的回调
public void onStopTrackingTouch(SeekBar arg0) {
// TODO Auto-generated method stub
}
});
dialog.show();
四,使用自定义的对话框
当我们需要自定义的对话框时,可以自己写XML的布局文件,然后通过集成Dialog的方式编写自己的自定义对话框。
例如:
class MyDialog extends Dialog{
private Window mWindow;
public MyDialog(Context context) {
super(context);
//获得窗口管理对象
mWindow=this.getWindow();
//去掉系统默认的对话框北京
mWindow.setBackgroundDrawable(new ColorDrawable(0));
//获得窗口参数
WindowManager.LayoutParams lp=mWindow.getAttributes();
//设置对话框显示在屏幕的顶部,默认是显示在屏幕中心
lp.gravity=Gravity.TOP;
//设置外部单机可以回收对话框
setCanceledOnTouchOutside(true);
//去掉对话框的标题栏
requestWindowFeature(Window.FEATURE_NO_TITLE);
//设置对话框的内容
mWindow.setContentView(R.layout.mydialog); //加入对话框的布局文件
}
调用测试:
//测试自定义对话框
MyDialog dialog =new MyDialog(this);
//显示对话框
dialog.show();
//回收对话框
dialog.dismiss();
待续。。。

