android 酒店入住时间,Android自定义酒店日期选择器

2023-10-25 11:50

本文主要是介绍android 酒店入住时间,Android自定义酒店日期选择器,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Android自定义日期区间选择器,类似于途家等酒店、旅游日期区间选择器:

重写PopupWindow

制定区间日历

添加日历日期选中监听

封装插件化

github开源

CustomDatePicker

类似于途家等酒店日期选择器,弹出自定义的PopupWindow,监听日期选中,返回结果。代码已经开源到GitHub上,提供插件化。 —— [ Wiki ]

1. 添加依赖:

Step 1.Add it in your root build.gradle at the end of repositories:

allprojects {

repositories {

...

maven { url 'https://jitpack.io' }

}

}

Step 2. Add the dependency

dependencies {

implementation 'com.github.atuan07:CustomHotelCalender:V1.0.2'

}

2.使用方法:

private int startGroup = -1;//全局量

private int endGroup = -1;

private int startChild = -1;

private int endChild = -1;

...

new DatePopupWindow

.Builder(MainActivity.this, Calendar.getInstance().getTime(), view)//初始化

.setInitSelect(startGroup, startChild, endGroup, endChild)//设置上一次选中的区间状态

.setInitDay(false)//默认为true,UI内容为共几天、开始、结束;当为false时,UI内容为共几晚、入住、离开

.setDateOnClickListener(new DatePopupWindow.DateOnClickListener() {//设置监听

//点击完成按钮后回调返回方法

@Override

public void getDate(String startDate, String endDate, int startGroupPosition, int

startChildPosition, int endGroupPosition, int endChildPosition) {

startGroup = startGroupPosition;//开始月份位置

startChild = startChildPosition;//开始对应月份中日的位置

endGroup = endGroupPosition;//结束月份位置

endChild = endChildPosition;//结束对应月份中日的位置

String mStartTime = CalendarUtil.FormatDateYMD(startDate);

String mEndTime = CalendarUtil.FormatDateYMD(endDate);

result.setText("您选择了:" + mStartTime + "到" + mEndTime);

}

}).builder();

效果图:

e09c75d2d2320cb6cc13cf4d339ae8e3.png

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

这篇关于android 酒店入住时间,Android自定义酒店日期选择器的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/282373

相关文章

go中的时间处理过程

《go中的时间处理过程》:本文主要介绍go中的时间处理过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1 获取当前时间2 获取当前时间戳3 获取当前时间的字符串格式4 相互转化4.1 时间戳转时间字符串 (int64 > string)4.2 时间字符串转时间

Golang如何对cron进行二次封装实现指定时间执行定时任务

《Golang如何对cron进行二次封装实现指定时间执行定时任务》:本文主要介绍Golang如何对cron进行二次封装实现指定时间执行定时任务问题,具有很好的参考价值,希望对大家有所帮助,如有错误... 目录背景cron库下载代码示例【1】结构体定义【2】定时任务开启【3】使用示例【4】控制台输出总结背景

Java实现自定义table宽高的示例代码

《Java实现自定义table宽高的示例代码》在桌面应用、管理系统乃至报表工具中,表格(JTable)作为最常用的数据展示组件,不仅承载对数据的增删改查,还需要配合布局与视觉需求,而JavaSwing... 目录一、项目背景详细介绍二、项目需求详细介绍三、相关技术详细介绍四、实现思路详细介绍五、完整实现代码

一文详解Java Stream的sorted自定义排序

《一文详解JavaStream的sorted自定义排序》Javastream中的sorted方法是用于对流中的元素进行排序的方法,它可以接受一个comparator参数,用于指定排序规则,sorte... 目录一、sorted 操作的基础原理二、自定义排序的实现方式1. Comparator 接口的 Lam

Android DataBinding 与 MVVM使用详解

《AndroidDataBinding与MVVM使用详解》本文介绍AndroidDataBinding库,其通过绑定UI组件与数据源实现自动更新,支持双向绑定和逻辑运算,减少模板代码,结合MV... 目录一、DataBinding 核心概念二、配置与基础使用1. 启用 DataBinding 2. 基础布局

Android ViewBinding使用流程

《AndroidViewBinding使用流程》AndroidViewBinding是Jetpack组件,替代findViewById,提供类型安全、空安全和编译时检查,代码简洁且性能优化,相比Da... 目录一、核心概念二、ViewBinding优点三、使用流程1. 启用 ViewBinding (模块级

C++ 函数 strftime 和时间格式示例详解

《C++函数strftime和时间格式示例详解》strftime是C/C++标准库中用于格式化日期和时间的函数,定义在ctime头文件中,它将tm结构体中的时间信息转换为指定格式的字符串,是处理... 目录C++ 函数 strftipythonme 详解一、函数原型二、功能描述三、格式字符串说明四、返回值五

从基础到进阶详解Pandas时间数据处理指南

《从基础到进阶详解Pandas时间数据处理指南》Pandas构建了完整的时间数据处理生态,核心由四个基础类构成,Timestamp,DatetimeIndex,Period和Timedelta,下面我... 目录1. 时间数据类型与基础操作1.1 核心时间对象体系1.2 时间数据生成技巧2. 时间索引与数据

如何自定义一个log适配器starter

《如何自定义一个log适配器starter》:本文主要介绍如何自定义一个log适配器starter的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录需求Starter 项目目录结构pom.XML 配置LogInitializer实现MDCInterceptor

Java日期类详解(最新推荐)

《Java日期类详解(最新推荐)》早期版本主要使用java.util.Date、java.util.Calendar等类,Java8及以后引入了新的日期和时间API(JSR310),包含在ja... 目录旧的日期时间API新的日期时间 API(Java 8+)获取时间戳时间计算与其他日期时间类型的转换Dur