android基于wheelview的自定义日期选择器

android基于wheelview的自定义日期选择器

ID:13520757

大小:84.00 KB

页数:19页

时间:2018-07-23

android基于wheelview的自定义日期选择器_第1页
android基于wheelview的自定义日期选择器_第2页
android基于wheelview的自定义日期选择器_第3页
android基于wheelview的自定义日期选择器_第4页
android基于wheelview的自定义日期选择器_第5页
资源描述:

《android基于wheelview的自定义日期选择器》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Android基于wheelView的自定义日期选择器系统自带的DatePicker、TimePicker大家都知道,只有这种效果:百度了很多,试了NumberPicker等都不行,本来打算自己写。网友推荐了一个开源组件WheelView,下下来试了试,发现他已经定义的很完善了,在他的基础上拓展很容易。现将基于wheelView自定义日期选择器记录如下:一.首先要了解WheelView为我们提供了什么:除了我写的”DateObject”与”StringWheelAdapter”,其余都是WheelView提供的,1.WheelView.ja

2、va:可滚动的组件,主要方法:setAdapter(newStringWheelAdapter(dateList,7));//设置AdaptersetVisibleItems(3);//设置显示几行数据setCyclic(true);//设置是否循环显示数据addChangingListener(onDaysChangedListener)//设置滑动监听器2.WheelAdapter.java:滑动组件的适配器的接口,子类适配器用于装载数据publicinterfaceWheelAdapter{/***Getsitemscount*@re

3、turnthecountofwheelitems*/publicintgetItemsCount();/***Getsawheelitembyindex.**@paramindextheitemindex*@returnthewheelitemtextornull*/publicStringgetItem(intindex);/***Getsmaximumitemlength.Itisusedtodeterminethewheelwidth.*If-1isreturnedtherewillbeusedthedefaultwheelwidth

4、.**@returnthemaximumitemlengthor-1*/publicintgetMaximumLength();}3.OnWheelChangedListener.java:滑动监听器接口publicinterfaceOnWheelChangedListener{/***Callbackmethodtobeinvokedwhencurrentitemchanged*@paramwheelthewheelviewwhosestatehaschanged*@paramoldValuetheoldvalueofcurrentite

5、m*@paramnewValuethenewvalueofcurrentitem*/voidonChanged(WheelViewwheel,intoldValue,intnewValue);}4.OnWheelScrollListener.java:滚动监听器接口(暂时没用到)5.NumericWheelAdapter.java:当滚动内容为纯数字时调用的适配器6.DateObject.java:日期实体类,用于存储、获取选择的数据packagekankan.wheel.widget;importjava.util.Calendar;pu

6、blicclassDateObjectextendsObject{privateintyear;privateintmonth;privateintday;privateintweek;privateinthour;privateintminute;privateStringlistItem;/***日期对象的4个参数构造器,用于设置日期*@paramyear*@parammonth*@paramday*@authorsxzhang*/publicDateObject(intyear2,intmonth2,intday2,intweek2)

7、{super();this.year=year2;intmaxDayOfMonth=Calendar.getInstance().getActualMaximum(Calendar.DAY_OF_MONTH);if(day2>maxDayOfMonth){this.month=month2+1;this.day=day2%maxDayOfMonth;}else{this.month=month2;this.day=day2;}this.week=week2%7==0?7:week2%7;if(day==Calendar.getInstanc

8、e().get(Calendar.DAY_OF_MONTH)){this.listItem=String.format("%02d",this.month)+"月"+String

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。