效果视频:
教程:
1.Xamarin项目Android端安装安卓nuget包
Install-Package XamarinLibrary.Xamarin.Android.Haibin.CalendarView -Version 3.7.1
2.参考原作者Android原生源码用法对照调用C#相应函数;
3.在Xamarin方面将CalendarView相关控件使用Renderer方案在Xamarin.Forms显示;
4.涉及Xamarin.Forms、Xamarin.Android的Renderer的使用时,可以参考源码示例的代码进行相应处理。
其他资料:
Xamarin.Forms 演示CalendarView的Sample的源码:
https://github.com/jingliancui/XamarinFormsCalendarViewSample
原生Android的CalendarView源码:
https://github.com/huanghaibin-dev/CalendarView
原生Android的CalendarView的使用方法:
https://github.com/huanghaibin-dev/CalendarView/blob/master/QUESTION_ZH.md
微软官方Renderer教程示例:
https://docs.microsoft.com/en-us/xamarin/xamarin-forms/app-fundamentals/custom-renderer/video-player/
CalendarView 的特性:
基于Canvas绘制,极速性能
热插拔思想,任意定制周视图、月视图,即插即用!
支持单选、多选、范围选择、国内手机日历默认自动选择等选择模式
支持静态、动态设置周起始,一行代码搞定
支持静态、动态设置日历项高度、日历填充模式
支持设置任意日期范围、任意拦截日期
支持多点触控、手指平滑切换过渡,拒绝界面抖动
类NestedScrolling特性,嵌套滚动
既然这么多支持,那一定支持英语、繁体、简体,任意定制实现
后话:
本次为Xamarin.Android带来Android的日历控件huanghaibin-dev/CalendarView,由于之前遇到的业务功能的实现需要使用到日历进行定制化开发,而该控件提供的能力也比较多及比较灵活,所以也分享给有需要的开发者。
如果对本示例使用的nuget包有疑问,可以在公众号留言或者Github发起相关issue与我进行相关技术交流。