源码简介

之前看网上demo自定义日历采用的一般是在ondraw中绘制一个一个小格子,然后计算好后拼凑一下,这个是个好方法,会让界面很容易对齐,美观,并且可以实现小格子的很多效果,项目里碰到一个地方要添加日历,通过点击最近12个月的某一天返回当天的日期功能,本来想直接用网上的demo,但是看了看需求以及实现方式,觉得改动有点大,所以就决定还是自己去写个日历控件,同时也算是复习下calendar类相关信息吧,由于需求不同,需要加点滑动的东西,想了下还是直接利用系统提供的组建搭建一起会更方便些,所以最后决定采用了listview + gridview的技术实现,代码比较简单,主要涉及的知识为calendar类的api调用,listview与gridview的事件监听,回调函数的编写,以及界面上的一些实现

具体实现效果为下图:其中左侧选择月份的可以上下滑动选择最近12个月,右侧点击日历后就返回当前点击的yyyyMMdd给调用类设置的监听方法
Android例子源码自定义日历控件点击某天返回日期


文件夹 PATH 列表
卷序列号为 4EF663A7 3CD2:D088
C:.
│  javaapk.com文件列表生成工具.bat
│  JavaApk源码说明.txt
│  目录列表.txt
│  
└─CalendarViewDemo
    │  .classpath
    │  .project
    │  AndroidManifest.xml
    │  ic_launcher-web.png
    │  proguard-project.txt
    │  project.properties
    │  
    ├─.settings
    │      org.eclipse.core.resources.prefs
    │      
    ├─assets
    ├─bin
    │  │  AndroidManifest.xml
    │  │  jarlist.cache
    │  │  
    │  ├─classes
    │  │  └─org
    │  │      └─iamwsbear
    │  │          └─viewdemo
    │  │              │  BuildConfig.class
    │  │              │  R$attr.class
    │  │              │  R$dimen.class
    │  │              │  R$drawable.class
    │  │              │  R$id.class
    │  │              │  R$layout.class
    │  │              │  R$string.class
    │  │              │  R$style.class
    │  │              │  R.class
    │  │              │  
    │  │              ├─main
    │  │              │      MainActivity$1.class
    │  │              │      MainActivity.class
    │  │              │      
    │  │              └─view
    │  │                      TwelveMonthCalendar$1.class
    │  │                      TwelveMonthCalendar$2.class
    │  │                      TwelveMonthCalendar$calendarGridViewAdapter.class
    │  │                      TwelveMonthCalendar$CalendarListViewAdapter.class
    │  │                      TwelveMonthCalendar$GrideViewHolder.class
    │  │                      TwelveMonthCalendar$ListViewHolder.class
    │  │                      TwelveMonthCalendar$OnDaySelectListener.class
    │  │                      TwelveMonthCalendar.class
    │  │                      
    │  └─res
    ├─gen
    │  └─org
    │      └─iamwsbear
    │          └─viewdemo
    │                  BuildConfig.java
    │                  R.java
    │                  
    ├─libs
    │      android-support-v4.jar
    │      
    ├─res
    │  ├─drawable-hdpi
    │  │      ic_launcher.png
    │  │      
    │  ├─drawable-ldpi
    │  ├─drawable-mdpi
    │  │      ic_launcher.png
    │  │      
    │  ├─drawable-xhdpi
    │  │      ic_launcher.png
    │  │      
    │  ├─drawable-xxhdpi
    │  │      ic_launcher.png
    │  │      
    │  ├─layout
    │  │      activity_main.xml
    │  │      common_calendar_gridview_item.xml
    │  │      comm_calendar.xml
    │  │      comm_calendar_listview_item.xml
    │  │      
    │  └─values
    │          dimens.xml
    │          strings.xml
    │          styles.xml
    │          
    └─src
        └─org
            └─iamwsbear
                └─viewdemo
                    ├─main
                    │      MainActivity.java
                    │      
                    └─view
                            TwelveMonthCalendar.java
                            

1条源码讨论
发表评论

您必须登录才能评论.

沙发 wangcaixia 2014-06-20 上午11:14

不能随便选年份,而且日期不能选择以后几个月的,只能选择当前这个月在内的之前12个月!

©2013-2019 JavaApk.com· 鲁ICP备13032311号-1· Powered by WordPress· Theme by JavaApkTM · 网站地图.19 queries in 0.084 seconds