简单方便的Android原生日期时间选择器

时间:2024-06-02 07:48:29

现在好多项目上都会用到日期和时间选择,Android就有一款原生的,先看效果

简单方便的Android原生日期时间选择器简单方便的Android原生日期时间选择器


上面是效果图,实现代码很简单,如下:

/**
 * 日期选择
 * @param activity
 * @param themeResId
 * @param tv
 * @param calendar
 */
public static void showDatePickerDialog(Activity activity, int themeResId, final TextView tv, Calendar calendar) {
    // 直接创建一个DatePickerDialog对话框实例,并将它显示出来
    new DatePickerDialog(activity , themeResId,new DatePickerDialog.OnDateSetListener() {
            // 绑定监听器(How the parent is notified that the date is set.)
        @Override
        public void onDateSet(DatePicker view, int year,  int monthOfYear, int dayOfMonth) {
            // 此处得到选择的时间,可以进行你想要的操作
            tv.setText("您选择了:" + year + "年" + (monthOfYear+1)+ "月" + dayOfMonth + "日");

        }
    }
            // 设置初始日期
            , calendar.get(Calendar.YEAR)
            ,calendar.get(Calendar.MONTH)
            ,calendar.get(Calendar.DAY_OF_MONTH)).show();
}
这是日期选择,里面的themeresid表示的是效果的背景色,设置为2就是上面的效果图,当点击确认后就会触发上面的onDateSet方法,在这里就可以做操作,同理,时间选择如下:,同样很简单,还有一些简单的操作可以自行百度。

 

/**
 * 时间选择
 * @param activity
 * @param themeResId
 * @param tv
 * @param calendar
 */
public static void showTimePickerDialog(Activity activity,int themeResId, final TextView tv, Calendar calendar) {
    // Calendar c = Calendar.getInstance();
    // 创建一个TimePickerDialog实例,并把它显示出来
    // 解释一哈,Activity是context的子类
    new TimePickerDialog( activity,themeResId,
            // 绑定监听器
            new TimePickerDialog.OnTimeSetListener() {
                @Override
                public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
                    tv.setText("您选择了:" + hourOfDay + "时" + minute  + "分");
                }
            }
            // 设置初始时间
            , calendar.get(Calendar.HOUR_OF_DAY)
            , calendar.get(Calendar.MINUTE)
            // true表示采用24小时制
            ,true).show();
}