Android日历方式显示日期选择组件.docx

上传人:b****7 文档编号:15535318 上传时间:2023-07-05 格式:DOCX 页数:18 大小:20.47KB
下载 相关 举报
Android日历方式显示日期选择组件.docx_第1页
第1页 / 共18页
Android日历方式显示日期选择组件.docx_第2页
第2页 / 共18页
Android日历方式显示日期选择组件.docx_第3页
第3页 / 共18页
Android日历方式显示日期选择组件.docx_第4页
第4页 / 共18页
Android日历方式显示日期选择组件.docx_第5页
第5页 / 共18页
Android日历方式显示日期选择组件.docx_第6页
第6页 / 共18页
Android日历方式显示日期选择组件.docx_第7页
第7页 / 共18页
Android日历方式显示日期选择组件.docx_第8页
第8页 / 共18页
Android日历方式显示日期选择组件.docx_第9页
第9页 / 共18页
Android日历方式显示日期选择组件.docx_第10页
第10页 / 共18页
Android日历方式显示日期选择组件.docx_第11页
第11页 / 共18页
Android日历方式显示日期选择组件.docx_第12页
第12页 / 共18页
Android日历方式显示日期选择组件.docx_第13页
第13页 / 共18页
Android日历方式显示日期选择组件.docx_第14页
第14页 / 共18页
Android日历方式显示日期选择组件.docx_第15页
第15页 / 共18页
Android日历方式显示日期选择组件.docx_第16页
第16页 / 共18页
Android日历方式显示日期选择组件.docx_第17页
第17页 / 共18页
Android日历方式显示日期选择组件.docx_第18页
第18页 / 共18页
亲,该文档总共18页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

Android日历方式显示日期选择组件.docx

《Android日历方式显示日期选择组件.docx》由会员分享,可在线阅读,更多相关《Android日历方式显示日期选择组件.docx(18页珍藏版)》请在冰点文库上搜索。

Android日历方式显示日期选择组件.docx

Android日历方式显示日期选择组件

Android日历方式显示的日期选择组件

此Widget组件只包含五个类文件:

• DateWidget

• DateWidgetDayCell

• DateWidgetDayHeader

• DayStyle

• SymbolButton

*红色为启动的activity

DateWidget.java:

Java代码    

1. packagecom.iaiai;  

2.  

3. import;  

4. import;  

5. import;  

6.  

7. import;  

8. import;  

9. import;  

10. import;  

11. import;  

12. import;  

13. import;  

14. import;  

15.  

 

37. publicclassDateWidgetextendsActivity{  

38.    privateArrayListdays=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.    @Override 

76.    publicvoidonStart(){  

77.        super.onStart();  

78.  

79.    }  

80.  

81.    privateLinearLayoutcreateLayout(intiOrientation){  

82.        LinearLayoutlay=newLinearLayout(this);  

83.        lay.setLayoutParams(newLayoutParams(  

84.                ,  

85.                ;  

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.                ;  

103.        btnToday.setPadding(iHorPadding,btnToday.getPaddingTop(),iHorPadding,  

104.                btnToday.getPaddingBottom());  

105.        btnToday.setBackgroundResource(;  

106.  

107.        SymbolButtonbtnPrev=newSymbolButton(this,  

108.                ;  

109.        btnPrev.setLayoutParams(newLayoutParams(iSmallButtonWidth,  

110.                ;  

111.        btnPrev.setBackgroundResource(;  

112.  

113.        SymbolButtonbtnNext=newSymbolButton(this,  

114.                ;  

115.        btnNext.setLayoutParams(newLayoutParams(iSmallButtonWidth,  

116.                ;  

117.        btnNext.setBackgroundResource(;  

118.  

119.        //setevents  

120.        btnPrev.setOnClickListener(newButton.OnClickListener(){  

121.            publicvoidonClick(Viewarg0){  

122.                setPrevViewItem();  

123.            }  

124.        });  

125.        btnToday.setOnClickListener(newButton.OnClickListener(){  

126.            publicvoidonClick(Viewarg0){  

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.            publicvoidonClick(Viewarg0){  

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.        LinearLayoutlayRow=createLayout(LinearLayout.HORIZONTAL);  

177.        for(intiDay=0;iDay<7;iDay++){  

178.            DateWidgetDayHeaderday=newDateWidgetDayHeader(this,  

179.                    iDayCellSize,iDayHeaderHeight);  

180.            finalintiWeekDay=DayStyle.getWeekDay(iDay,iFirstDayOfWeek);  

181.            day.setData(iWeekDay);  

182.            layRow.addView(day);  

183.        }  

184.        returnlayRow;  

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.            calStartDate.setFirstDayOfWeek(iFirstDayOfWeek);  

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

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.                    ||(iDayOfWeek==Calendar.SUNDAY))  

236.                bHoliday=true;  

237.            if((iMonth==Calendar.JANUARY)&&(iDay==1))  

238.                bHoliday=true;  

239.  

240.            dayCell.setData(iYear,iMonth,iDay,bToday,bHoliday,  

241.                    iMonthViewCurrentMonth);  

242.            bSelected=false;  

243.            if(bIsSelection)  

244.                if((iSelectedDay==iDay)&&(iSelectedMonth==iMonth)  

245.                        &&(iSelectedYear==iYear)){  

246.                    bSelected=true;  

247.                }  

248.            dayCell.s

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2