Android 自定义时间选择对话框

  1. 自定义时间对话框

    主布局文件activity_main:

  2. <?xml version="1.0" encoding="UTF-8"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical" >
        <Button
            android:id="@+id/bt"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="确定" />
    </RelativeLayout>

    3date_dialog.xml布局:

     

  3.  <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        android:padding="10dip" >
        <DatePicker
            android:id="@+id/date_picker"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:layout_marginTop="5dip"
            android:startYear="2015" > //该属性用来设置开始选择的年份,结束的年份属性android:endYear
4.MainActivity代码:
  1. package com.example.shij;
    import java.sql.Date;
    import java.util.Calendar;
    import android.app.Activity;
    import android.app.AlertDialog;
    import android.app.DatePickerDialog;
    import android.content.DialogInterface;
    import android.os.Bundle;
    import android.text.format.DateUtils;
    import android.view.MotionEvent;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.Button;
    import android.widget.DatePicker;
    import android.widget.DatePicker.OnDateChangedListener;
    import android.widget.EditText;
    import android.widget.LinearLayout;
    public class MainActivity extends Activity {
     private Button bt;
     private Calendar calendar; // 通过Calendar获取系统时间
     
     @Override
     protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
      bt = (Button) findViewById(R.id.bt);
      calendar = Calendar.getInstance();
      bt.setOnClickListener(new OnClickListener() {
       @Override
       public void onClick(View v) {
        // TODO Auto-generated method stub
        diaog();
       }
      });
     }
     private void diaog()
     {
      AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
      View view = (LinearLayout) getLayoutInflater().inflate(
        R.layout.date_dialog, null);
      final DatePicker datePicker = (DatePicker) view
        .findViewById(R.id.date_picker);
      datePicker.setCalendarViewShown(false);
      // 初始化当前日期
      calendar.setTimeInMillis(System.currentTimeMillis());
      datePicker.init(calendar.get(Calendar.YEAR),
        calendar.get(Calendar.MONTH),
        calendar.get(Calendar.DAY_OF_MONTH), null);
      builder.setView(view);
      builder.setTitle("设置日期信息");
      builder.setPositiveButton("确  定",
        new DialogInterface.OnClickListener() {
         @Override
         public void onClick(DialogInterface dialog, int which) {
          // 日期格式
          StringBuffer sb = new StringBuffer();
          sb.append(String.format("%d-%02d-%02d",
          datePicker.getYear(),
          datePicker.getMonth() + 1,
          datePicker.getDayOfMonth()));
          bt.setText(sb); //设置显示的年月日
          
          dialog.cancel();
         }
        });
      builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
       @Override
       public void onClick(DialogInterface dialog, int which) {
        // TODO Auto-generated method stub
        dialog.cancel();
       }
      });
      builder.create().show();
     }
    }

你可能感兴趣的:(Android 自定义时间选择对话框)