一,日期对话框
代码:
//日期时间对话框 //获得时间相关实例,目的是为了初始化日期选择对话框弹出来的初始时间 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();
待续。。。