美文网首页Android开发经验谈Android技术知识Android开发
DateTimePicker:一个简约、漂亮的日期时间选择器

DateTimePicker:一个简约、漂亮的日期时间选择器

作者: LOPER7 | 来源:发表于2020-05-28 16:15 被阅读0次

    DateTimePicker 一个简约、漂亮的日期时间选择器,支持大面积自定义UI,内置日期时间选择弹窗,基于 Google BottomSheetDialog,可直接使用。

    预览


    快速体验


    点击下载

    如何引入


    Step 1. 添加 JitPack repository

    allprojects {
        repositories {
            ...
            maven { url "https://jitpack.io" }
        }
    }
    

    Step 2. 添加 Gradle依赖

    dependencies {
        ...
        //查看最新版本请前往github,仅支持androidx
        implementation 'com.github.loperSeven:DateTimePicker:0.0.1'
    }
    

    如何使用

    • 底部卡片弹窗
    最简单的使用方式
       CardDatePickerDialog(context).setOnChooseListener(object :CardDatePickerDialog.OnChooseListener {
                    override fun onChoose(millisecond: Long) {
                    }
                })
    
    所有可配置属性
      CardDatePickerDialog.builder(context)
                    .setTitle("CARD DATE PICKER DIALOG")
                    .setDisplayType(displayList)
                    .setBackGroundModel(model)
                    .showBackNow(true)
                    .setDefaultTime(defaultDate)
                    .setMaxTime(maxDate)
                    .setMinTime(minDate)
                    .setThemeColor(color)
                    .showDateLabel(true)
                    .showFocusDateInfo(true)
                    .build().setOnChooseListener(object : CardDatePickerDialog.OnChooseListener {
                        override fun onChoose(millisecond: Long) {
           
                        }
                    }).show()
    

    • 日期时间选择控件
    xml中
            <com.loper7.layout.DateTimePicker
                android:id="@+id/dateTimePicker"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                app:showLabel="true"
                app:textSize="16sp"
                app:themeColor="#FF8080" />
    
    代码中
    • 设置监听
        dateTimePicker.setOnDateTimeChangedListener { view, millisecond, year, month, day, hour, minute ->
            var chooseTime="${StringUtils.conversionTime(millisecond, "yyyy年MM月dd日 HH时mm分")}"
        }
    

    以上为最简单的使用方式

    更多设置
    • 设置显示状态

    DateTimePicker支持显示 年月日时分 五个选项的任意组合,显示顺序以此为年、月、日、时、分,setDisplayType中可无序设置。

         dateTimePicker.setDisplayType(intArrayOf(
                DateTimePicker.YEAR,//显示年
                DateTimePicker.MONTH,//显示月
                DateTimePicker.DAY,//显示日
                DateTimePicker.HOUR,//显示时
                DateTimePicker.MIN))//显示分
    
    • 设置默认选中时间
     dateTimePicker.setDefaultMillisecond(defaultMillisecond)//defaultMillisecond 为毫秒时间戳
    
    • 设置允许选择的最小时间
      dateTimePicker.setMinMillisecond(minMillisecond)
    
    • 设置允许选择的最大时间
      dateTimePicker.setMaxMillisecond(maxMillisecond)
    
    • 是否显示label标签(选中栏 年月日时分汉字)
      dateTimePicker.showLabel(true)
    
    • 设置主题颜色
      dateTimePicker.setThemeColor(ContextCompat.getColor(context,R.color.colorPrimary))
    
    • 设置字体大小

    设置的字体大小为选中栏的字体大小,预览字体会根据字体大小等比缩放

      dateTimePicker.setTextSize(15)//单位为sp
    

    Github

    更多详细属性可前往Github查看,也可以通过isuess提出你的问题,让我们共同优化DateTimePicker。

    相关文章

      网友评论

        本文标题:DateTimePicker:一个简约、漂亮的日期时间选择器

        本文链接:https://www.haomeiwen.com/subject/wbraahtx.html