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

来源:互联网 发布:如何评价蔡英文知乎 编辑:程序博客网 时间:2024/05/15 19:38

现在好多项目上都会用到日期和时间选择,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();
}