自定义view-日历系列

这是一个自定义的周历,月历,以及时间布局的demo

此项目不适合直接放到自己的项目中,需要自己改动部分代码去适合自己的业务逻辑
主要业务逻辑在weekCalendarEventview 中

github地址

效果图

这里写图片描述
效果图
这里写图片描述

功能包含

  • 周历月历联动
  • 当前时间的红线展示
  • 过去时间置灰展示
  • 事件区域事件的回调的监听
  • 空白可以点击的区域的时间回调监听
  • 选择开始和结束时间并返回

代码的结构

src

main

java

cn.yky.calendarview

activity 时间日历控件界面

adapter 周历,月历,周历事件控件的适配器

anims 周历和月历上下滑动的动画切换

bean 存放的数据模型

inter 周历,月历的点击选中事件的回调监听

utils 存放的日期,集合,数据和字符串的工具类

view 存放的自定义控件

res

values

attrs 存放的自定义属性

需要用到的知识点
* 自定义view滑动
* 自定义控件画布的切割
* 自定义控件的联调滑动
* ….

联系方式

本人技术有限,还有很多不完美的地方,欢迎指出.(写作不易,谢谢您的star支持)
* QQ:152046273
* Email:yukuoyuan@hotmail.com
* CSDN博客地址
* Github博客地址

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
自定义 Android 日历,可以使用 Android 提供的 CalendarView 组件或自定义 View 实现。以下是使用 CalendarView 组件实现自定义日历的步骤: 1. 在 XML 文件中添加 CalendarView 组件。 ``` <CalendarView android:id="@+id/calendar_view" android:layout_width="match_parent" android:layout_height="match_parent" android:theme="@style/CalendarTheme" android:dateTextAppearance="@style/CalendarDateText" android:weekDayTextAppearance="@style/CalendarWeekDayText" android:selectedWeekBackgroundColor="@color/selected_week_background" android:focusedMonthDateColor="@color/focused_month_date" android:unfocusedMonthDateColor="@color/unfocused_month_date" android:weekNumberColor="@color/week_number" android:shownWeekCount="6" android:firstDayOfWeek="2" android:showWeekNumber="true" /> ``` 2. 创建样式和颜色资源文件,以在日历视图中应用自定义样式和颜色。 3. 通过设置 OnDateChangeListener 监听器来处理用户选择的日期。 ``` CalendarView calendarView = findViewById(R.id.calendar_view); calendarView.setOnDateChangeListener(new OnDateChangeListener() { @Override public void onSelectedDayChange(@NonNull CalendarView view, int year, int month, int dayOfMonth) { // 处理用户选择的日期 } }); ``` 4. 可以使用 Java 代码修改 CalendarView 组件的属性,例如设置日期范围、选中日期等等。 ``` calendarView.setMinDate(minDate.getTime()); calendarView.setMaxDate(maxDate.getTime()); calendarView.setDate(currentDate.getTime()); ``` 以上是使用 CalendarView 组件实现自定义日历的基本步骤。如果需要更多的自定义功能,可以考虑使用自定义 View 实现。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值