1、今天想自己制作一个时间选择功能,就上网查了一些例子,参考例子写的一个代码,效果图如下
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsICO1kDNyYTMwEjMxIDM4EDMy8CX0Vmbu4GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)
2、首先需要引入两个类,这两个类就是编辑的具体代码
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