Android自定义酒店日期选择器

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

  • 重写PopupWindow
  • 制定区间日历
  • 添加日历日期选中监听
  • 封装插件化
  • github开源

CustomDatePicker

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

Github 地址:CustomHotelCalender

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();

效果图:

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

(0)

相关推荐

  • Android基于wheelView实现自定义日期选择器

    本文实例为大家分享了Android实现自定义日期选择器的具体代码,供大家参考,具体内容如下 项目要求效果图: 要求 "6月20 星期五" 这一项作为一个整体可以滑动,"7时"."48分"分别作为一个滑动整体. 系统自带的DatePicker.TimePicker大家都知道,只有这种效果: 百度了很多,试了NumberPicker等都不行,本来打算自己写.网友推荐了一个开源组件WheelView,下下来试了试,发现他已经定义的很完善了,在他的基础上

  • Android自定义wheelview实现滚动日期选择器

    本文实例为大家分享了Android实现滚动日期选择器的具体代码,供大家参考,具体内容如下 wheelview滚动效果的View 这段时间需要用到一个时间选择器,但是不能使用日期对话框, 因为它是筛选条件框架下的,只能是View!这个WheelView改造后可以达到要求! 这个wheelview框架使用的类不多,就几个,还有一些资源文件. 我根据这个框架设计了日期的选择器. 主页面: 第一种日期选择器页面: 动态效果: 使用: 具体的实现是一个LoopView的类,这是一个继承View的类! 理解

  • Android仿iPhone日期时间选择器详解

    本文实例为大家分享了Android仿iPhone时间选择器的具体代码,供大家参考,具体内容如下 先看效果图 如何使用 import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import android.app.Activity; import android.app.AlertDialog; import

  • Android使用第三方库实现日期选择器

    本文主要是介绍利用第三方库实现底部日期选择器滚轮效果,类似IOS日期效果,只记录了一种展示效果,是项目中常用到的,至于用到其他效果以及自定义扩展的可以参考原文自行学习. 原文github地址 效果图参考: 使用方法: 1.AS添加依赖: compile 'com.contrarywind:Android-PickerView:3.2.6' 2.在Activity中添加如下代码: TimePickerView pvTime = new TimePickerView.Builder(this, ne

  • Android开发中实现IOS风格底部选择器(支持时间 日期 自定义)

    本文Github代码链接 https://github.com/AndroidMsky/AndoirdIOSPicker 先上图吧: 这是笔者最近一个项目一直再用的一个选择器库,自己也在其中做了修改,并决定持续维护下去. 先看使用方法: 日期选择: private void showDateDialog(List<Integer> date) { DatePickerDialog.Builder builder = new DatePickerDialog.Builder(this); bui

  • Android仿Boss直聘文本日期混合滚轮选择器示例

    1.需求分析 GitHub上面有一款iOS风格的滚轮选择器Android-PickerView,它分为时间选择器代码TimePickerView和选项选择器OptionsPickerView,不但可以选择时间日期,可以选择我们自定义的数据,比如性别.年龄等.我一直都用它.直到最近遇到了一个需求,它的选项里面既有文字也有时间,大体效果如Boss直聘添加项目经验中的时间选择功能: 从图中我们可以看出,除了常规的年份和月份的选择,选项中还包含了文本.其中,最新的时间是"至今",而最早可供选择

  • Android自定义DataTimePicker实例代码(日期选择器)

    笔者有一段时间没有发表关于Android的文章了,关于Android自定义组件笔者有好几篇想跟大家分享的,后期会记录在博客中.本篇博客给大家分享的是自定义一个日期选择器,可以让用户同时选择年月日和当前时间. 先看看效果: 实现的效果就是在同一个布局上显示日期选择和时间选择. 自定义一个类: /DateTimePicker/src/com/wwj/datetimepicker/DateTimePickDialogUtil.java package com.wwj.datetimepicker; i

  • Android 日期选择器实例代码

    废话不多说了,直接给大家贴代码了,具体代码如下所示: //出生年月设置 private void birthSetting() { Calendar calendar = Calendar.getInstance(); calendar.add(Calendar.DAY_OF_YEAR, 1); new DatePickerDialog(mContext, new DatePickerDialog.OnDateSetListener() { @Override public void onDat

  • Android日期选择器对话框DatePickerDialog使用详解

    调用Android原生日期选择器对话框就是DatePickerDialog,具体内容如下 在Android4.4系统上效果如图: 在Android5.0以上效果如图: 1.Activity的onCreate方法中获取当时的年,月,日 Calendar ca = Calendar.getInstance(); mYear = ca.get(Calendar.YEAR); mMonth = ca.get(Calendar.MONTH); mDay = ca.get(Calendar.DAY_OF_M

  • Android日期选择器实现年月日三级联动

    最近项目里面用到了一个日期选择器,实现现在主流的WheelView滑动选择,整理了下,做了个Demo.废话不多说,直接上代码. 主布局:activity_main.xml <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools=&quo

  • Android时间选择器、日期选择器实现代码

    本文为大家分享了两款选择器,一款可以针对时间进行选择.一款可以针对日期进行选择,供大家参考,具体内容如下 一.时间选择器 1.1.布局 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.and

  • Android日期和时间选择器实现代码

    抽出来了一个方法来选择时间(这里自己规定的只能选择当前时间以后的日期),日期选择完毕就会自动弹出时间选择器让选择时间. /** * 选择日期和时间 */ private void selectDataAndTime() { // 获取当前时间 final Calendar calendar = Calendar.getInstance(); /* * toast("当前时间是:" + calendar.get(Calendar.YEAR) + "," + * cal

随机推荐