天天看點

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