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

简介:

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

  先简单介绍下CalendarView日历控件的使用。

  android.widget.CalendarView是从android.widget.FrameLayout中继承。

  CalendarView 类提供了基本的日历设置方法:

  long getDate() 获取从1970年,1月1日,0点0分0秒到现在的毫秒数,因为返回是long型最终只能截止到2038年

  int getFirstDayOfWeek() //获取当天是本周的第几天,Android123提示返回的定义在java.util.Calendar类中,比如Calendar.Monday为星期一,定义值为2。

  long getMaxDate() //获取CalendarView支持1970年到那天的最大天数

  long getMinDate() //获取CalendarView支持1970年到那天的最小天数

  boolean getShowWeekNumber() //获取是否显示星期号

  boolean isEnabled() //是否显示本日历视图

  public void setDate (long date, boolean animate, boolean center) //设置选择日期到1970年的描述

  void setDate(long date) //设置选择的日期描述到1970年

  void setEnabled(boolean enabled) //设置是否启用视图

  void setFirstDayOfWeek(int firstDayOfWeek) //设置本周起始天数

  void setMaxDate(long maxDate)

  void setMinDate(long minDate)

  void setOnDateChangeListener(CalendarView.OnDateChangeListener listener) //日历视图修改的接口,这个介绍看下面。

  void setShowWeekNumber(boolean showWeekNumber) //设置是否显示周号

  有关日历控件CalendarView的设置接口 android.widget.CalendarView.OnDateChangeListener 只实现了一个回调方法void onSelectedDayChange(CalendarView view, int year, int month, int dayOfMonth)。

  这四个参数的具体介绍为

  view The view associated with this listener.

  year The year that was set.

  month The month that was set [0-11].

  dayOfMonth The day of the month that was set.

  下面给大家展示这几种有用的日历控件效果图:

  

  这是CalendarView的效果图。可以实现上月和下月翻页,设置事件等。

  

  这个日历控件也比较强大,但外观不够友好。

  

  

  这是我们自己实现的日历控件。可以通过选择日期查询相关数据等操作。

  

  这是Android3.0及以上版本自带的日历控件。








本文转自 wws5201985 51CTO博客,原文链接:http://blog.51cto.com/wws5201985/818593,如需转载请自行联系原作者
目录
相关文章
|
9天前
|
存储 安全 Android开发
安卓应用开发:构建一个高效的用户登录系统
【5月更文挑战第3天】在移动应用开发中,用户登录系统的设计与实现是至关重要的一环。对于安卓平台而言,一个高效、安全且用户体验友好的登录系统能够显著提升应用的用户留存率和市场竞争力。本文将探讨在安卓平台上实现用户登录系统的最佳实践,包括对最新身份验证技术的应用、安全性考量以及性能优化策略。
|
2天前
|
Java Android开发
Android开发--Intent-filter属性详解
Android开发--Intent-filter属性详解
|
2天前
|
物联网 Java 开发工具
安卓应用开发:打造未来移动生活
【5月更文挑战第10天】 随着科技的飞速发展,智能手机已成为我们日常生活中不可或缺的一部分。作为智能手机市场的两大巨头,安卓和iOS分别占据了一定的市场份额。在这篇文章中,我们将重点关注安卓应用开发,探讨如何利用先进的技术和创新思维,为用户打造更加便捷、智能的移动生活。文章将涵盖安卓应用开发的基本概念、关键技术、以及未来发展趋势等方面的内容。
|
2天前
|
XML Java Android开发
Android控件动态使用 (转)
Android控件动态使用 (转)
|
3天前
|
Java API 开发工具
java与Android开发入门指南
java与Android开发入门指南
11 0
|
4天前
|
Android开发 Kotlin
Kotlin开发Android之基础问题记录
Kotlin开发Android之基础问题记录
16 1
|
4天前
|
Java Android开发
Android开发@IntDef完美替代Enum
Android开发@IntDef完美替代Enum
13 0
|
5天前
|
Android开发
Android 盒子开发过程中遇到的问题及解决方法
Android 盒子开发过程中遇到的问题及解决方法
8 2
|
6天前
|
机器学习/深度学习 算法 Android开发
安卓应用开发:打造高效通知管理系统
【5月更文挑战第6天】 在现代移动应用的海洋中,用户经常面临信息过载的挑战。一个精心设计的通知管理系统对于提升用户体验至关重要。本文将探讨在安卓平台上如何实现一个高效的通知管理系统,包括最佳实践、系统架构设计以及性能优化技巧。通过分析安卓通知渠道和优先级设置,我们的目标是帮助开发者构建出既能吸引用户注意,又不会引发干扰的智能通知系统。
18 2
|
6天前
|
安全 Linux Android开发
FFmpeg开发笔记(十六)Linux交叉编译Android的OpenSSL库
该文介绍了如何在Linux服务器上交叉编译Android的FFmpeg库以支持HTTPS视频播放。首先,从GitHub下载openssl源码,解压后通过编译脚本`build_openssl.sh`生成64位静态库。接着,更新环境变量加载openssl,并编辑FFmpeg配置脚本`config_ffmpeg_openssl.sh`启用openssl支持。然后,编译安装FFmpeg。最后,将编译好的库文件导入App工程的相应目录,修改视频链接为HTTPS,App即可播放HTTPS在线视频。
FFmpeg开发笔记(十六)Linux交叉编译Android的OpenSSL库