源碼簡介

之前看網上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.064 seconds


竟彩足球比分直播