项目需要用到CalendarView故而整理CanlendarView的相关API

Gradle

implementation 'com.haibin:calendarview:3.5.5'

CalendarLayout

这是辅助类,当需要日历折叠功能的时候,用它包裹住CalendarView

//CalendarLayout api
public void expand(); //展开
public void shrink(); //收缩
public boolean isExpand();//是否已经展开

日历显示模式

<attr name="calendar_show_mode"><enum name="both_month_week_view" value="0" /><!-- 默认都有 --><enum name="only_week_view" value="1" /><!-- 仅周视图 --><enum name="only_month_view" value="2" /><!-- 仅月视图 -->
</attr>
<attr name="default_status"><enum name="expand" value="0" /> <!--默认展开--><enum name="shrink" value="1" /><!--默认搜索-->
</attr>
<attr name="calendar_content_view_id" format="integer" /><!--内容布局id-->

CalendarView

可通过attr配置

<declare-styleable name="CalendarView"><attr name="week_background" format="color" /><!--星期栏背景色--><attr name="week_line_background" format="color" /><!--星期栏线的颜色--><attr name="week_text_color" format="color" /><!--星期栏文本颜色--><attr name="week_bar_view" format="string" /><!--如果需要的话使用自定义星期栏--><attr name="month_view" format="string" /><!--完全自定义月视图路径--><attr name="week_view" format="string" /><!--完全自定义周视图路径--><attr name="scheme_text" format="string" /><!--标记的文本,一般可忽略--><attr name="day_text_size" format="dimension" /><!--日期字体大小--><attr name="lunar_text_size" format="dimension" /><!--农历字体大小--><attr name="calendar_height" format="dimension" /><!--日历卡的高度,每一项,不是整体--><attr name="scheme_text_color" format="color" /><!--标记的文本颜色--><attr name="scheme_month_text_color" format="color" /><!--标记的月字体颜色--><attr name="scheme_lunar_text_color" format="color" /><!--标记的农历字体颜色--><attr name="scheme_theme_color" format="color" /><!--标记的背景主题颜色--><attr name="selected_theme_color" format="color" /><!--选择的背景主题颜色--><attr name="selected_text_color" format="color" /><!--选中的月字体颜色--><attr name="selected_lunar_text_color" format="color" /><!--选中的农历字体颜色--><attr name="current_day_text_color" format="color" /><!--今天的日子字体颜色--><attr name="current_day_lunar_text_color" format="color" /><!--今天的日子农历字体颜色--><attr name="current_month_text_color" format="color" /><!--当前月份卡的月字体颜色,非今天所在的月份--><attr name="other_month_text_color" format="color" /><!--当前月份卡其它月字体颜色--><attr name="current_month_lunar_text_color" format="color" /><!--当前月份月农历颜色--><attr name="other_month_lunar_text_color" format="color" /><!--其它月份农历字体颜色--><!-- 年视图相关 --><attr name="year_view_month_text_size" format="dimension" /><!--年视图月字体大小--><attr name="year_view_day_text_size" format="dimension" /><!--年视图日字体大小--><attr name="year_view_month_text_color" format="color" /><!--年视图月字体颜色--><attr name="year_view_day_text_color" format="color" /><!--年视图日子字体颜色--><attr name="year_view_scheme_color" format="color" /><!--年视图标记字体颜色--><attr name="year_view_background" format="color" /><!--年视图背景--><!----><attr name="min_year" format="integer" /><!--最小年份--><attr name="max_year" format="integer" /><!--最大年份--><attr name="min_year_month" format="integer" /><!--最小年份对应最小月份--><attr name="max_year_month" format="integer" /><!--最大年份对应月份--><!--配置你喜欢的月视图显示模式模式--><attr name="month_view_show_mode"><enum name="mode_all" value="0" /> <!--全部显示--><enum name="mode_only_current" value="1" /> <!--仅显示当前月份--><enum name="mode_fix" value="2" /> <!--自适应显示,不会多出一行,但是会自动填充--></attr><!-- 自定义周起始 --><attr name="week_start_with"><enum name="sun" value="1" /><enum name="mon" value="2" /><enum name="sat" value="7" /></attr></declare-styleable>
//CalendarView api
public int getCurDay(); //今天
public int getCurMonth(); //当前的月份
public int getCurYear(); //今年
public void showSelectLayout(final int year); //快速弹出年份选择月份
public void closeSelectLayout(final int position); //关闭选择年份并跳转日期
public void setRange(int minYear, int minYearMonth, int maxYear, int maxYearMonth) //设置日期范围
public void setOnYearChangeListener(OnYearChangeListener listener);//年份切换事件
public void setOnDateSelectedListener(OnDateSelectedListener listener);//日期选择事件
public void setSchemeDate(List<Calendar> mSchemeDate);//标记日期
public void update();//动态更新
public Calendar getSelectedCalendar(); //获取选择的日期
public void scrollToPre();//滚动到上一个月
public void scrollToNext();//滚动到下一个月
public void scrollToCalendar(int year, int month, int day);//滚动到指定日期
public void setBackground(int monthLayoutBackground, int weekBackground, int lineBg)//设置背景色
public void setTextColor(int curMonthTextColor,int otherMonthColor,int lunarTextColor)//设置文本颜色
public void setSelectedColor(int style, int selectedThemeColor, int selectedTextColor)//设置选择的效果
public void setSchemeColor(int style, int schemeColor, int schemeTextColor)//设置标记的色
public void setBackground(int yearViewBackground, int weekBackground, int lineBg)//设置背景色

日历控件CalendarView的使用相关推荐

  1. 日历控件CalendarView

    API 11中新加了CalendarView控件,即日历控件.但是如果需要在3.0以下系统中支持,就需要自定义了. https://github.com/square/android-times-sq ...

  2. 记一次Android第三方日历控件CalendarView的使用

    一.文章背景 用过两个日历控件的库,有用viewpager实现的,也有用canvas实现的.在实际使用过程中,发现使用canvas实现的calendarView切换下一月和下一年这种操作时切换更流畅. ...

  3. android自定义选年控件,Android精美日历控件CalendarView自定义使用完全解析

    项目github地址 此框架采用组合的方式,各个模块互相独立,可自由采用各种提供的控件组合,完全自定义自己需要的UI,周视图和月视图可通过简单自定义任意自由绘制,不怕美工提需求!!!下面教程将介绍如何 ...

  4. Android开发之如何实现日历控件

    我们大家都知道,在Android平台3.0中才新增了日历视图控件,可以显示网格状的日历内容,那么对于3.0以下的版本要使用日历控件只能借助第三方,目前用的最多的是CalendarView. 先简单介绍 ...

  5. CalendarView使用详细文档(一个很不错的日历控件)

    github地址:https://github.com/huanghaibin-dev/CalendarView CalendarView使用详细文档 日历控件定制是移动开发平台上比较常见的而且比较难 ...

  6. 自定义日历控android,Android 一个日历控件的实现小记

    先看几张动态的效果图吧! 这里主要记录一下在编写日历控件过程中一些主要的点: 一.主要功能 1.支持农历.节气.常用节假日 2.日期范围设置,默认支持的最大日期范围[1900.1~2049.12] 3 ...

  7. 推荐一款优雅的日历控件

    原文链接:https://mp.weixin.qq.com/s/SmxDiWIidHS2hwVvFcz_hw 项目需要用到日历控件,这是我们的效果图. 去github上搜了一哈,搜到大神写的Calen ...

  8. java自定义日历控件_【无私分享】修订版干货!!!一个炫酷的自定义日历控件,摆脱日历时间选择烦恼,纯福利~...

    可能不少的小伙伴都有看楼主昨天发的自定义日历控件,虽然实现功能不多,但也还算将就吧. 但是看了的小伙伴就很心急了,说楼主上传到gitHub的东西有问题,楼主下载来看了看,基本都没问题吧,没弄好的小伙伴 ...

  9. Android开源的精美日历控件,热插拔设计的万能自定义UI

    UI框架应该逻辑与界面实现分离,该日历控件使用了热插拔的设计 ,简单几步即可实现你需要的UI效果,热插拔的思想是你提供你的实现,我提供我的插座接口,与自定义Behavior是一样的思想. 听说第一页无 ...

最新文章

  1. Win10系列:JavaScript动画2
  2. 互联网协议 — HTTPS 安全的超文本传输协议
  3. visio对象放入word显示不全_办公人士必学visio技能 手把手教你使用visio绘制项目全景图!...
  4. 即时通讯学习笔记005---在windows中安装OpenFire服务器即时通讯服务器_使用OpenFire内置数据库
  5. python开发服务程序_Python 编写Windows服务程序:将Python作为Windows服务启动 | 学步园...
  6. win10如何设置任务栏在左侧显示
  7. 机房布线技术设计与施工
  8. php 微信 爬虫 源码,PHP实现微信开放平台扫码登录源码下载
  9. vim 插件安装和卸载
  10. Kibana:使用 drilldown 从一个仪表板切换到另外一个仪表板
  11. 多变量之间的关系可视化——Seaborn.pairplot
  12. 随意编辑网页内容的简单方法
  13. 计算机如何远程控制对方手机,如何远程控制别人的电脑【图解】
  14. 加速更新DNS解析记录的方法
  15. 什么是陀螺仪的dr算法_一种基于DR/GPS/MM的组合定位系统数据融合算法
  16. Hexo中添加音乐(列表)、视频的代码
  17. 【SIGIR22】使用反事实生成器来消除知识感知推荐中的虚假联系
  18. 在windows本地创建svn及遇到错误:svn create repository here 报错
  19. 现在计算机有64位吗,任何电脑都可以装64位系统吗|是不是所有的电脑都可以装64位系统...
  20. 【ArcMap学习系列】符号编辑与制作(国界、省界、区县界等线状符号制作方法)

热门文章

  1. 如何清理系统大量的残余文件和系统垃圾文件?(win10)
  2. Sublime Text 3- 2018/2/1用激活码
  3. ENVI_建模工具的使用——以“指数计算”批处理为例
  4. pyqtgraph帮助手册
  5. spring之aop(前置通知,后置通知,环绕通知,过滤通知,异常通知)
  6. CVE和CWE的区别
  7. MVCC如何实现数据库读已提交和可重复读这两种隔离级别?
  8. 下一代游戏主机,8GB内存怎么够
  9. À¸´£º¹²ÏíÖйúÐÅÏ¢²úÒµ´øÀ´µÄÓ°ÏìÁ¦
  10. html 百度天气,百度天气预报api