Skip to content

CardWeekPickerDialog 使用说明

LOPER7 edited this page Sep 13, 2022 · 4 revisions

最简单的使用方式

//kotlin
CardWeekPickerDialog.builder(context)
                .setOnChoose("选择") {weekData,formatValue ->
                   
                }.build().show()

所有可配置属性

 CardWeekPickerDialog.builder(context)
                .setTitle("WEEK PICKER")//设置弹窗标题
                .setBackGroundModel(model)//设置弹窗样式类型
                .setWrapSelectorWheel(false)//设置picker是否可循环滚动
                .setDefaultMillisecond(defaultDate)//通过时间戳设置默认选中周
                .setStartMillisecond(minDate)//通过时间戳设置开始周
                .setAssistColor(Color.parseColor("#DDFFFFFF"))//设置弹窗辅助文字颜色
                .setDividerColor(Color.parseColor("#222222"))//设置分割线颜色
                .setEndMillisecond(maxDate)//通过时间戳设置结束周
                .setThemeColor(Color.parseColor("#FF8000"))//设置主题颜色
                .setFormatter {//设置数据格式化样式
                    NumberPicker.Formatter { value: Int ->
                        var weekData = it[value - 1].toFormatList("MM月dd日")
                        var str = "${weekData.first()}  开始到  ${weekData.last()}结束"
                        str
                    }
                }
                .setOnChoose("选择") {weekData,formatValue ->
                    //选择按钮回调监听
                    btnCardDialogShow.text = formatValue
                }
                .setOnCancel("关闭") {
                   //关闭按钮回调监听
                }.build().show()

适配深色模式

//由于背景、DateTimePicker以及主题色均可由开发者灵活配置,为了兼容这些配置,所以适配深色模式需要调用以下几个方法进行设置。

//1.自定义dialog背景,为light/dark模式设置不同的值
builder.setBackGroundModel(if(isDark) R.drawable.shape_bg_dialog_dark else R.drawable.shape_bg_dialog_light)
//2.自定义dialog辅助文字颜色
setAssistColor(if(isDark) darkColor else lightColor)
//3.自定义dialog分割线颜色
setDividerColor(if(isDark) darkColor else lightColor)

//这样深色模式就适配完成了,当然,以上三个方法的作用不仅可以用于适配深色模式,也可以传入更契合app主题的颜色,用于与app统一UI风格。