Android日历方式显示的日期选择组件Word文档格式.docx
- 文档编号:20639013
- 上传时间:2023-01-24
- 格式:DOCX
- 页数:18
- 大小:22.36KB
Android日历方式显示的日期选择组件Word文档格式.docx
《Android日历方式显示的日期选择组件Word文档格式.docx》由会员分享,可在线阅读,更多相关《Android日历方式显示的日期选择组件Word文档格式.docx(18页珍藏版)》请在冰豆网上搜索。
37.
publicclassDateWidgetextendsActivity{
38.
privateArrayList<
DateWidgetDayCell>
days=newArrayList<
();
39.
//privateSimpleDateFormatdateMonth=newSimpleDateFormat("
MMMMyyyy"
);
40.
privateCalendarcalStartDate=Calendar.getInstance();
41.
privateCalendarcalToday=Calendar.getInstance();
42.
privateCalendarcalCalendar=Calendar.getInstance();
43.
privateCalendarcalSelected=Calendar.getInstance();
44.
LinearLayoutlayContent=null;
45.
ButtonbtnPrev=null;
46.
ButtonbtnToday=null;
47.
ButtonbtnNext=null;
48.
privateintiFirstDayOfWeek=Calendar.MONDAY;
49.
privateintiMonthViewCurrentMonth=0;
50.
privateintiMonthViewCurrentYear=0;
51.
publicstaticfinalintSELECT_DATE_REQUEST=111;
52.
privatestaticfinalintiDayCellSize=38;
53.
privatestaticfinalintiDayHeaderHeight=24;
54.
privatestaticfinalintiTotalWidth=(iDayCellSize*7);
55.
privateTextViewtv;
56.
privateintmYear;
57.
privateintmMonth;
58.
privateintmDay;
59.
60.
@Override
61.
publicvoidonCreate(Bundleicicle){
62.
super.onCreate(icicle);
63.
iFirstDayOfWeek=Calendar.MONDAY;
64.
mYear=calSelected.get(Calendar.YEAR);
65.
mMonth=calSelected.get(Calendar.MONTH);
66.
mDay=calSelected.get(Calendar.DAY_OF_MONTH);
67.
setContentView(generateContentView());
68.
calStartDate=getCalendarStartDate();
69.
DateWidgetDayCelldaySelected=updateCalendar();
70.
updateControlsState();
71.
if(daySelected!
=null)
72.
daySelected.requestFocus();
73.
}
74.
75.
76.
publicvoidonStart(){
77.
super.onStart();
78.
79.
80.
81.
privateLinearLayoutcreateLayout(intiOrientation){
82.
LinearLayoutlay=newLinearLayout(this);
83.
lay.setLayoutParams(newLayoutParams(
84.
android.view.ViewGroup.LayoutParams.FILL_PARENT,
85.
android.view.ViewGroup.LayoutParams.WRAP_CONTENT));
86.
lay.setOrientation(iOrientation);
87.
returnlay;
88.
89.
90.
privateButtoncreateButton(StringsText,intiWidth,intiHeight){
91.
Buttonbtn=newButton(this);
92.
btn.setText(sText);
93.
btn.setLayoutParams(newLayoutParams(iWidth,iHeight));
94.
returnbtn;
95.
96.
97.
privatevoidgenerateTopButtons(LinearLayoutlayTopControls){
98.
finalintiHorPadding=24;
99.
finalintiSmallButtonWidth=60;
100.
btnToday=createButton("
"
iTotalWidth-iSmallButtonWidth
101.
-iSmallButtonWidth,
102.
android.view.ViewGroup.LayoutParams.WRAP_CONTENT);
103.
btnToday.setPadding(iHorPadding,btnToday.getPaddingTop(),iHorPadding,
104.
btnToday.getPaddingBottom());
105.
btnToday.setBackgroundResource(android.R.drawable.btn_default_small);
106.
107.
SymbolButtonbtnPrev=newSymbolButton(this,
108.
SymbolButton.symbol.arrowLeft);
109.
btnPrev.setLayoutParams(newLayoutParams(iSmallButtonWidth,
110.
111.
btnPrev.setBackgroundResource(android.R.drawable.btn_default_small);
112.
113.
SymbolButtonbtnNext=newSymbolButton(this,
114.
SymbolButton.symbol.arrowRight);
115.
btnNext.setLayoutParams(newLayoutParams(iSmallButtonWidth,
116.
117.
btnNext.setBackgroundResource(android.R.drawable.btn_default_small);
118.
119.
//setevents
120.
btnPrev.setOnClickListener(newButton.OnClickListener(){
121.
publicvoidonClick(Viewarg0){
122.
setPrevViewItem();
123.
124.
});
125.
btnToday.setOnClickListener(newButton.OnClickListener(){
126.
127.
128.
setTodayViewItem();
129.
Strings=calToday.get(Calendar.YEAR)+"
/"
130.
+(calToday.get(Calendar.MONTH)+1);
131.
btnToday.setText(s);
132.
133.
134.
btnNext.setOnClickListener(newButton.OnClickListener(){
135.
136.
setNextViewItem();
137.
138.
139.
140.
layTopControls.setGravity(Gravity.CENTER_HORIZONTAL);
141.
layTopControls.addView(btnPrev);
142.
layTopControls.addView(btnToday);
143.
layTopControls.addView(btnNext);
144.
145.
146.
privateViewgenerateContentView(){
147.
LinearLayoutlayMain=createLayout(LinearLayout.VERTICAL);
148.
layMain.setPadding(8,8,8,8);
149.
LinearLayoutlayTopControls=createLayout(LinearLayout.HORIZONTAL);
150.
151.
layContent=createLayout(LinearLayout.VERTICAL);
152.
layContent.setPadding(20,0,20,0);
153.
generateTopButtons(layTopControls);
154.
generateCalendar(layContent);
155.
layMain.addView(layTopControls);
156.
layMain.addView(layContent);
157.
158.
tv=newTextView(this);
159.
layMain.addView(tv);
160.
returnlayMain;
161.
162.
163.
privateViewgenerateCalendarRow(){
164.
LinearLayoutlayRow=createLayout(LinearLayout.HORIZONTAL);
165.
for(intiDay=0;
iDay<
7;
iDay++){
166.
DateWidgetDayCelldayCell=newDateWidgetDayCell(this,
167.
iDayCellSize,iDayCellSize);
168.
dayCell.setItemClick(mOnDayCellClick);
169.
days.add(dayCell);
170.
layRow.addView(dayCell);
171.
172.
returnlayRow;
173.
174.
175.
privateViewgenerateCalendarHeader(){
176.
177.
178.
DateWidgetDayHeaderday=newDateWidgetDayHeader(this,
179.
iDayCellSize,iDayHeaderHeight);
180.
finalintiWeekDay=DayStyle.getWeekDay(iDay,iFirstDayOfWeek);
181.
day.setData(iWeekDay);
182.
layRow.addView(day);
183.
184.
185.
186.
187.
privatevoidgenerateCalendar(LinearLayoutlayContent){
188.
layContent.addView(generateCalendarHeader());
189.
days.clear();
190.
for(intiRow=0;
iRow<
6;
iRow++){
191.
layContent.addView(generateCalendarRow());
192.
193.
194.
195.
privateCalendargetCalendarStartDate(){
196.
calToday.setTimeInMillis(System.currentTimeMillis());
197.
calToday.setFirstDayOfWeek(iFirstDayOfWeek);
198.
199.
if(calSelected.getTimeInMillis()==0){
200.
calStartDate.setTimeInMillis(System.currentTimeMillis());
201.
calStartDate.setFirstDayOfWeek(iFirstDayOfWeek);
202.
}else{
203.
calStartDate.setTimeInMillis(calSelected.getTimeInMillis());
204.
205.
206.
207.
UpdateStartDateForMonth();
208.
209.
returncalStartDate;
210.
211.
212.
privateDateWidgetDayCellupdateCalendar(){
213.
DateWidgetDayCelldaySelected=null;
214.
booleanbSelected=false;
215.
finalbooleanbIsSelection=(calSelected.getTimeInMillis()!
=0);
216.
finalintiSelectedYear=calSelected.get(Calendar.YEAR);
217.
finalintiSelectedMonth=calSelected.get(Calendar.MONTH);
218.
finalintiSelectedDay=calSelected.get(Calendar.DAY_OF_MONTH);
219.
calCalendar.setTimeInMillis(calStartDate.getTimeInMillis());
220.
for(inti=0;
i<
days.size();
i++){
221.
finalintiYear=calCalendar.get(Calendar.YEAR);
222.
finalintiMonth=calCalendar.get(Calendar.MONTH);
223.
finalintiDay=calCalendar.get(Calendar.DAY_OF_MONTH);
224.
finalintiDayOfWeek=calCalendar.get(Calendar.DAY_OF_WEEK);
225.
DateWidgetDayCelldayCell=days.get(i);
226.
//checktoday
227.
booleanbToday=false;
228.
if(calToday.get(Calendar.YEAR)==iYear)
229.
if(calToday.get(Calendar.MONTH)==iMonth)
230.
if(calToday.get(Calendar.DAY_OF_MONTH)==iDay)
231.
bToday=true;
232.
//checkholiday
233.
booleanbHoliday=false;
234.
if((iDayOfWeek==Calendar.SATURDAY)
235
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Android 日历 方式 显示 日期 选择 组件