天天看点

android自己设计的时间选择器

1、今天想自己制作一个时间选择功能,就上网查了一些例子,参考例子写的一个代码,效果图如下

android自己设计的时间选择器

2、首先需要引入两个类,这两个类就是编辑的具体代码

android自己设计的时间选择器

3、引入xml文件,custom_date_picker.xml,在这里显示的是从下方弹出框的内容

4、引入style样式

<style name="time_dialog" parent="android:style/Theme.Dialog">
    <item name="android:windowFrame">@null</item>
    <item name="android:windowNoTitle">true</item>
    <item name="android:windowIsFloating">true</item>
    <item name="android:windowContentOverlay">@null</item>
    <item name="android:windowBackground">@color/white</item>
</style>
           

5、书写主Activity

private CustomDatePicker customDatePicker;
           
private void initDatePicker() {
    customDatePicker = new CustomDatePicker(this, new CustomDatePicker.ResultHandler() {
        @Override
        public void handle(String time) { // 回调接口,获得选中的时间
            visit_time_text.setText(time);
        }
        //选择器的开始时间和结束时间
    }, "2000-01-01 00:00", "2100-01-01 00:00"); // 初始化日期格式请用:yyyy-MM-dd HH:mm,否则不能正常运行
    customDatePicker.showSpecificTime(true); // 显示时和分
    customDatePicker.setIsLoop(true); // 允许循环滚动
}
           

6、点击事件选择按钮,执行的方法

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm", Locale.CHINA);
String now = sdf.format(new Date());
customDatePicker.show(now);
           

参看源码:https://github.com/liuwan1992/CustomDatePicker