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