




已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
package com.threeeyes.util;import java.util.Calendar;import com.threeeyes.activity.R;import android.R.color;import android.app.Activity;import android.content.Context;import android.graphics.Color;import android.os.Bundle;import android.util.Log;import android.view.Gravity;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.ImageButton;import android.widget.LinearLayout;import android.widget.TableLayout;import android.widget.TableRow;import android.widget.TextView;import android.widget.Toast;import android.widget.LinearLayout.LayoutParams;public class DateTime extends LinearLayout TableLayout table;TextView showDateTxt;TextView btnpre;TextView btnnext;TextView nowDate;int year;int month; / 0,1,.,11int srcday; / 初始日int srcyear; / 初始年int srcmonth; / 初始月String weeks = 周日, 周一, 周二, 周三, 周四, 周五, 周六 ;View preSelectedView = null; / 前一个选中的日期Context ct;DateCallBack callBack;int weekTitleColor = 0xFFFF0000;int dayColor = 0xFFFF0000;int titleColor = Color.BLACK;int selectedColor = Color.TRANSPARENT;boolean init = false; / 初始化标志int colWidth = 30; / 单元格宽度int rowHeight = 0; / 单元格高度int textSize = 12;LinearLayout dayLayOut;public DateTime(Context context, final int year1, final int month1, int day1) super(context);ct = context;this.srcmonth=month1;this.srcyear=year1;setOrientation(LinearLayout.VERTICAL);setLayoutParams(new LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT,LinearLayout.LayoutParams.WRAP_CONTENT);setBackgroundColor(Color.GRAY);LinearLayout titleLayOut = new LinearLayout(ct);titleLayOut.setOrientation(LinearLayout.HORIZONTAL);titleLayOut.setGravity(Gravity.CENTER_HORIZONTAL);addView(titleLayOut);table = new TableLayout(ct);addView(table);showDateTxt = new TextView(ct);LinearLayout.LayoutParams la = new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);la.rightMargin = 20;la.leftMargin = 20;showDateTxt.setLayoutParams(la);showDateTxt.setTextSize(textSize);this.year = year1;if (month1 12)this.month = 0;elsethis.month = month1 - 1;if (day1 31)this.srcday = 1;elsethis.srcday = day1;showDateTxt.setText(String.valueOf(year1) + 年 + String.valueOf(month1);showDateTxt.setTextColor(titleColor);btnpre = new TextView(ct);btnpre.setTextColor(titleColor);btnpre.setText(上月);btnpre.setTextSize(textSize);btnnext = new TextView(ct);btnnext.setTextColor(titleColor);btnnext.setText(下月);btnnext.setTextSize(textSize);nowDate = new TextView(ct);nowDate.setTextColor(titleColor);nowDate.setText(今天);nowDate.setTextSize(textSize);nowDate.setGravity(Gravity.CENTER_HORIZONTAL);dayLayOut = new LinearLayout(ct);dayLayOut.setOrientation(LinearLayout.VERTICAL);dayLayOut.setGravity(Gravity.CENTER_VERTICAL);dayLayOut.addView(showDateTxt);dayLayOut.addView(nowDate);titleLayOut.addView(btnpre);titleLayOut.addView(dayLayOut);titleLayOut.addView(btnnext);nowDate.setOnClickListener(new OnClickListener() Overridepublic void onClick(View v) / TODO Auto-generated method stubyear = srcyear;month = srcmonth-1;showDateTxt.setText(String.valueOf(year) + 年+ String.valueOf(month + 1) + 月);loadDate(1,1+5); );btnnext.setOnClickListener(new OnClickListener() Overridepublic void onClick(View v) / TODO Auto-generated method stubif (preSelectedView != null)preSelectedView.setBackgroundColor(color.transparent);nextMonth();showDateTxt.setText(String.valueOf(year) + 年+ String.valueOf(month + 1) + 月);loadDate(1, 1 + 5););btnpre.setOnClickListener(new OnClickListener() Overridepublic void onClick(View v) / TODO Auto-generated method stubpreMonth();showDateTxt.setText(String.valueOf(year) + 年+ String.valueOf(month + 1) + 月);loadDate(1, 1 + 5););public void setPre_Next_BackGround(int preRes, int nextPre) btnpre.setBackgroundResource(preRes);btnnext.setBackgroundResource(nextPre);btnpre.setText();btnnext.setText();public void setNowDateBackGround(int res) dayLayOut.setBackgroundResource(res);/* * 初始化日期 * * param titleCoclor * 标题颜色 * param weekTitleColor * 星期颜色 * param dayColor * 日期颜色 */public void initDate(int titleCoclor, int weekTitleColor, int dayColor,int selectedColor) if (!init) this.weekTitleColor = weekTitleColor;this.dayColor = dayColor;this.titleColor = titleCoclor;showDateTxt.setTextColor(titleCoclor);btnpre.setTextColor(titleCoclor);btnnext.setTextColor(titleCoclor);this.selectedColor = selectedColor;generateDate();/* * 初始化日期 颜色默认 */public void initDate() if (!init) generateDate();/* * 以周日,周一,周二,周三,周四,周五,周六为顺序 * * param weekdays */public void setWeekTitle(String weekdays) if (weekdays != null & weekdays.length 0 & weekdays.length = 7)this.weeks = weekdays;public int maxDay() Calendar time = Calendar.getInstance();Log.v(, time.toString();time.clear();time.set(Calendar.YEAR, year);time.set(Calendar.MONTH, month);int day = time.getActualMaximum(Calendar.DAY_OF_MONTH);/ 本月份的天数return day;public int nowWeekDay() Calendar time = Calendar.getInstance();Log.v(, time.toString();time.clear();time.set(Calendar.YEAR, year);time.set(Calendar.MONTH, month);time.set(Calendar.DATE, 1);int weekday = time.get(Calendar.DAY_OF_WEEK);if (weekday = 7)return 0;elsereturn weekday - 1;public void generateDate() TableLayout.LayoutParams params = new TableLayout.LayoutParams(TableLayout.LayoutParams.WRAP_CONTENT,TableLayout.LayoutParams.WRAP_CONTENT);TableRow row2 = new TableRow(ct);row2.setPadding(0, 2, 0, 0);row2.setGravity(Gravity.CENTER_HORIZONTAL);for (int i = 0; i 0)col1.setMinHeight(rowHeight);col1.setTextColor(weekTitleColor);col1.setText(weeksi);col1.setGravity(Gravity.CENTER_HORIZONTAL | Gravity.CENTER_VERTICAL);col1.setTextSize(textSize);row2.addView(col1); / 添加列table.addView(row2);int weekday = nowWeekDay();int maxday = maxDay();Log.v(date-, weekday + - + maxday);int count = 0;for (int i = 0; i 5; i+) / 添加6行TableRow row = new TableRow(ct);row.setPadding(0, 2, 0, 2);row.setGravity(Gravity.CENTER_HORIZONTAL);row.setLayoutParams(params);/ row.setBackgroundColor(0xFF00FF00);for (int j = 0; j 0)col.setMinHeight(rowHeight);if (i = 0) if (weekday = j) count+;col.setText(String.valueOf(count); else if (count 0) if (preSelectedView != null) preSelectedView.setBackgroundColor(color.transparent);preSelectedView = v;v.setBackgroundColor(selectedColor);callBack.execute(v, year + , (month + 1) + ,(TextView) v).getText().toString(););if (srcday = count) col.setBackgroundColor(selectedColor);this.preSelectedView = col;col.setGravity(Gravity.CENTER_HORIZONTAL| Gravity.CENTER_VERTICAL);row.addView(col); / 添加列table.addView(row);/ 添加行public void nextMonth() if (month = 11) year+;month = 0; else month+;public void preMonth(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 精细解读国际商事合同通则:跨国交易合同风险控制
- 基于婚姻关系终止的房产转让与补偿离婚协议示范
- 离婚协议中夫妻共同财产分割及债务清偿协议范本
- 创业团队合伙经营风险规避及合同签订细则
- 企业融资与可持续发展目标的对接策略-洞察及研究
- 人工智能辅助眼科诊断-洞察及研究
- 小学生竞赛试题及答案
- 检验师技师题库及答案
- 涟水组织设计
- 反洗钱年度工作总结-五篇
- 材料进场监理管理制度
- 2025中交安全考试题库及答案
- 教科版(2024)科学一年级上册教学计划(全册)
- 炉渣综合利用项目可行性研究报告立项申请报告范文
- 廉政协议合同协议
- 加油站安全生产规章制度与岗位操作规程全套
- 运动生理学知到课后答案智慧树章节测试答案2025年春湖南师范大学
- 第四代住宅白皮书-HZS
- 工业机器人操作与编程实训任务题库参考答案
- TCCTAS 162-2024 公路中央分隔带组合型波形梁护栏技术规程
- 商场全套安全生产管理制度
评论
0/150
提交评论