控件(Kotlin)"/>
Android:仿住宿APP入住时间选择控件(Kotlin)
文章目录
- calendar
- 使用说明
- 1、引入
- 2、两种功能应用场景
calendar
一个垂直方向的日历选择控件,用于酒店APP入住时间选择。(Kotlin)
开源地址:/
下载DEMO 体检效果
使用说明
1、引入
- 方式一:gradle 引入(推荐)
Step 1. Add the JitPack repository to your build file
Add it in your root build.gradle at the end of repositories:
allprojects {repositories {...maven { url '' }}}
Step 2. Add the dependency
dependencies {implementation 'com.github.sange93:calendar:Tag'}
- 方式二:导入aar包到项目lib下
下载 aar
2、两种功能应用场景
- 场景一:连续的日期选择
示例代码 SuccessiveTimeActivity.kt
/*** 初始化日历*/private fun initCalendar() {vCalendar.initViews(CalendarAdapter(this))// 设置为连选的适配器// 区间选取完成监听vCalendar.setOnCalendarChooseListener(object :CalendarAdapter.OnCalendarRangeChooseListener {override fun onRangeDate(startDate: Int, endDate: Int) {onChooseDate(startDate, endDate)}})val startDate = if (mStartDate.isNotEmpty()) mSdf.parse(mStartDate) else nullval endDate = if (mEndDate.isNotEmpty()) mSdf.parse(mEndDate) else nullif (startDate != null && endDate != null) {mDayCount = TimeUtil.getTimeDistance(startDate, endDate)}// 自定义设置相关vCalendar.setConfig(CalendarVerticalConfig.Builder().setShowWeek(true) //是否显示星期栏.setShowLunar(false) //是否显示阴历.setColorWeek("#333333") //星期栏的颜色.setTitleFormat("yyyy.MM") //每个月的标题样式.setColorTitle("#000000") //每个月标题的颜色.setColorSolar("#333333") //阳历的颜色.setColorLunar("#00ff00") //阴历的颜色.setColorBeforeToday("#CCCCCC") //今天之前的日期的颜色.setColorRangeBg("#FF5A00") //区间中间的背景颜色 99FF5A00.setColorRangeText("#FFFFFF") //区间文字的颜色.setColorStartAndEndBg("#FF5A00") //开始结束的背景颜色.setCountMonth(3) //显示多少月(默认6个月).setStartDate(stringToInt(mStartDate)) // 默认开始日期.setEndDate(stringToInt(mEndDate)) // 默认结束日期.build())// 事件日期集合val mEventDates = arrayListOf<CalendarEventModel>()//设置日历相关事件for (banDate in mBanDateList) {val eventModel = CalendarEventModel()eventModel.eventDate = banDate.toInt()eventModel.eventInfo = "休"eventModel.eventBgColor = Color.parseColor("#CCCCCC")eventModel.eventTextColor = Color.parseColor("#FF0000")mEventDates.add(eventModel)}//设置事件vCalendar.setEventDates(mEventDates)// 设置日历是否可点击,默认truevCalendar.setDateClickable(mClickable)}
- 场景二:非连续的日期选择
示例代码 DiscontinuousTimeActivity.kt
/*** 初始化日历*/private fun initCalendar() {vCalendar.initViews(CalendarMultipleAdapter(this))// 设置多选适配器vCalendar.setOnCalendarChooseListener(object :CalendarMultipleAdapter.OnCalendarMultipleChooseListener {override fun onClickDate(date: Int) {onClickDate(date.toString())}})val banDateList = arrayListOf<Int>()for (banDate in mBanDateList) {banDateList.add(banDate.toInt())}// 自定义设置相关vCalendar.setConfig(CalendarVerticalConfig.Builder().setShowWeek(true) //是否显示星期栏.setShowLunar(false) //是否显示阴历.setColorWeek("#333333") //星期栏的颜色.setTitleFormat("yyyy.MM") //每个月的标题样式.setColorTitle("#000000") //每个月标题的颜色.setColorSolar("#333333") //阳历的颜色.setColorLunar("#00ff00") //阴历的颜色.setColorBeforeToday("#CCCCCC") //今天之前的日期的颜色.setColorRangeBg("#FF5A00") //区间中间的背景颜色 99FF5A00.setColorRangeText("#FFFFFF") //区间文字的颜色.setColorStartAndEndBg("#FF5A00") //开始结束的背景颜色.setCountMonth(3) //显示多少月(默认6个月).setSelectedDateList(banDateList)// 默认选中日期.build())// 设置日历是否可点击,默认truevCalendar.setDateClickable(true)}
- 开源地址:/
更多推荐
Android:仿住宿APP入住时间选择控件(Kotlin)
发布评论