0°

Android RecyclerView日期选择控件进化版

内容预览:
  • 1.创建一个activity_calendar.xml布局文件 <?xml version="1.0"encod...~
  • 如果您觉得不错,请别忘了分享到您的朋友圈让更多的人看到!! 您的举手...~
  • 乐乐有话说 如果累了,就拉上窗帘关上手机关掉闹钟深呼吸一口气钻进被窝...~

始发于微信公众号: 程序员小乐

分享编程技能、互联网技术、生活感悟、打造干货分享平台,将总结的技术、心得、经验分享给大家,这里不只限于技术!还有职场心得、生活感悟、以及面经点击上方 “杨守乐” ,选择“置顶公众号”,第一时间送达!


在App应用开发中有很多时候我们都需要用到日期选择,比如出行日期,日期备忘录等,也有专门针对日历开发的App,今天这里就是一个基于RecyclerView实现的高效率日历控件。

Android RecyclerView日期选择控件进化版

1.创建一个activity_calendar.xml布局文件

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:calendar="http://schemas.android.com/apk/res-auto"
   android:orientation="vertical"
   android:background="@color/white"
   android:layout_width="match_parent"
   android:layout_height="match_parent">

   <com.andexert.calendarlistview.library.DayPickerView
       android:id="@+id/day_picker"
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       calendar:colorSelectedDayBackground="@color/color_48c4fe"
       calendar:colorNormalDay="@android:color/black"
       calendar:colorMonthName="@android:color/black"
       calendar:colorDayName="@android:color/black"
       calendar:textSizeDay="14sp"
       calendar:textSizeMonth="14sp"
       calendar:textSizeDayName="14sp"
       calendar:currentDaySelected="false"
       calendar:colorPreviousDay="@android:color/darker_gray"
       calendar:enablePreviousDay="false"
       calendar:selectedDayRadius="18dp"
       calendar:showMonthDay="false"
       calendar:selectSingle="true"
       calendar:drawRoundRect="false"/>

</LinearLayout>

DayPickerView的属性说明:

  • colorSelectedDayBackground:选中日期的背景颜色

  • calendar:colorNormalDay:未选中的日期字体颜色

  • colorMonthName:周的字体颜色(一,二…)

  • textSizeDay:数字日的字体大小(1,2,3号…)

  • textSizeMonth:年月的字体大小(2017年1月)

  • textSizeDayName:周的字体大小(一,二,三…)

  • currentDaySelected:是否默认选中当前日期(今天)

  • colorPreviousDay:最小日期之前的日期颜色(灰色日期)

  • enablePreviousDay:最小日期之前的日期是否可选(灰色日期)

  • drawRoundRect:选中日期的背景样式,圆形或者方形

  • selectedDayRadius:选中日期背景的圆角大小

  • headerMonthHeight:年月以及周的空间高度

  • calendarHeight :日期空间的高度
    ————我是加强部分————–

  • showMonthDay是否显示周(一,二,三…)

  • selectSingle当前是多选模式还是单选模式

2.代码使用部分

设置最小的可选日期

mDayPickerView.setMinDay(calendar);

设置最大日期需要实现接口DatePickerController,按照年计算,可选部分直到设置年份的今天

Android RecyclerView日期选择控件进化版


单选逻辑实现方法


Android RecyclerView日期选择控件进化版


多选逻辑实现


Android RecyclerView日期选择控件进化版


Android RecyclerView日期选择控件进化版

删除选择的日期


mDayPickerView.getSelectedDays().setFirst(null);
mDayPickerView.getSelectedDays().setLast(null);
//刷新日历
mDayPickerView.setUpAdapter();


Android RecyclerView日期选择控件进化版

如果需要了解这个日历的前身,请点击我(https://github.com/traex/CalendarListview),说了这么多,没有源码就是耍流氓
源码传送门(https://github.com/tangyxgit/CalendarListEvolution)
日历后期将会根据研究持续更新,如果你喜欢,那就一起来研究吧,后期我将会给大家带来更多实用,可靠并且拓展性强大的控件。

如何您想进技术群和大牛们交流,关注公众号在后台回复 “加群”,或者 “学习” 即可

作者:Galaxy北爱

链接:https://www.jianshu.com/p/6eb75ad9f35c

著作权归作者所有。本文已获得授权。

如果您觉得不错,请别忘了分享到您的朋友圈让更多的人看到!! 您的举手之劳,就是对我最好的支持,非常感谢!

每日英文


In the end, it’s not the years in your life that count. It’s the life in your years.

人生到头来,你活了多少岁不算什么,重要的是,你是如何度过这些岁月的。


乐乐有话说


如果累了,就拉上窗帘关上手机关掉闹钟深呼吸一口气钻进被窝,放空去睡觉,难熬的日子总需要更多精力。


Android RecyclerView日期选择控件进化版


推荐阅读



一位10年Java工作经验的架构师聊Java和工作经验
老程序员总结的40条开发小技巧


看完本文有收获?请转发分享给更多人
关注「杨守乐」,提升编程技能

以上就是:Android RecyclerView日期选择控件进化版 的全部内容。

本站部分内容来源于互联网和用户投稿,如有侵权请联系我们删除,谢谢。
Email:[email protected]


0 条回复 A 作者 M 管理员
    所有的伟大,都源于一个勇敢的开始!
欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论