手势滑动日历
来源:互联网 发布:淘宝账号在哪看到 编辑:程序博客网 时间:2024/05/22 13:12
CalendarGridViewAdapter.java
package com.dcs.test.Activity;import java.util.ArrayList;import java.util.Calendar;import java.util.Date;import com.dcs.test.R;import android.app.Activity;import android.content.res.Resources;import android.view.Gravity;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.LinearLayout;import android.widget.TextView;import android.widget.LinearLayout.LayoutParams;public class CalendarGridViewAdapter extends BaseAdapter {private Calendar calStartDate = Calendar.getInstance();// 当前显示的日历private Calendar calSelected = Calendar.getInstance(); // 选择的日历public void setSelectedDate(Calendar cal){calSelected=cal;}private Calendar calToday = Calendar.getInstance(); private int iMonthViewCurrentMonth = 0; private void UpdateStartDateForMonth() {calStartDate.set(Calendar.DATE, 1); iMonthViewCurrentMonth = calStartDate.get(Calendar.MONTH);int iDay = 0;int iFirstDayOfWeek = Calendar.MONDAY;int iStartDay = iFirstDayOfWeek;if (iStartDay == Calendar.MONDAY) {iDay = calStartDate.get(Calendar.DAY_OF_WEEK) - Calendar.MONDAY;if (iDay < 0)iDay = 6;}if (iStartDay == Calendar.SUNDAY) {iDay = calStartDate.get(Calendar.DAY_OF_WEEK) - Calendar.SUNDAY;if (iDay < 0)iDay = 6;}calStartDate.add(Calendar.DAY_OF_WEEK, -iDay);calStartDate.add(Calendar.DAY_OF_MONTH, -1);}ArrayList<java.util.Date> titles;private ArrayList<java.util.Date> getDates() {UpdateStartDateForMonth();ArrayList<java.util.Date> alArrayList = new ArrayList<java.util.Date>();for (int i = 1; i <= 42; i++) {alArrayList.add(calStartDate.getTime());calStartDate.add(Calendar.DAY_OF_MONTH, 1);}return alArrayList;}private Activity activity;Resources resources;public CalendarGridViewAdapter(Activity a,Calendar cal) {calStartDate=cal;activity = a;resources=activity.getResources();titles = getDates();}public CalendarGridViewAdapter(Activity a) {activity = a;resources=activity.getResources();}@Overridepublic int getCount() {return titles.size();}@Overridepublic Object getItem(int position) {return titles.get(position);}@Overridepublic long getItemId(int position) {return position;}@Overridepublic View getView(int position, View convertView, ViewGroup parent) {LinearLayout iv = new LinearLayout(activity);iv.setId(position + 5000);LinearLayout imageLayout = new LinearLayout(activity);imageLayout.setOrientation(0);iv.setGravity(Gravity.CENTER);iv.setOrientation(1);iv.setBackgroundColor(resources.getColor(R.color.white));Date myDate = (Date) getItem(position);Calendar calCalendar = Calendar.getInstance();calCalendar.setTime(myDate);final int iMonth = calCalendar.get(Calendar.MONTH);final int iDay = calCalendar.get(Calendar.DAY_OF_WEEK);// 判断周六周日iv.setBackgroundColor(resources.getColor(R.color.white));if (iDay == 7) {// 周六iv.setBackgroundColor(resources.getColor(R.color.text_6));} else if (iDay == 1) {// 周日iv.setBackgroundColor(resources.getColor(R.color.text_7));} else {}// 判断周六周日结束TextView txtToDay = new TextView(activity);txtToDay.setGravity(Gravity.CENTER_HORIZONTAL);txtToDay.setTextSize(9);if (equalsDate(calToday.getTime(), myDate)) {// 当前日期iv.setBackgroundColor(resources.getColor(R.color.event_center));txtToDay.setText("TODAY!");}// 设置背景颜色if (equalsDate(calSelected.getTime(), myDate)) {// 选择的iv.setBackgroundColor(resources.getColor(R.color.selection));} else {if (equalsDate(calToday.getTime(), myDate)) {// 当前日期iv.setBackgroundColor(resources.getColor(R.color.calendar_zhe_day));}}// 设置背景颜色结束// 日期开始TextView txtDay = new TextView(activity);// 日期txtDay.setGravity(Gravity.CENTER_HORIZONTAL);// 判断是否是当前月if (iMonth == iMonthViewCurrentMonth) {txtToDay.setTextColor(resources.getColor(R.color.ToDayText));txtDay.setTextColor(resources.getColor(R.color.Text));} else {txtDay.setTextColor(resources.getColor(R.color.noMonth));txtToDay.setTextColor(resources.getColor(R.color.noMonth));}int day = myDate.getDate(); // 日期txtDay.setText(String.valueOf(day));txtDay.setId(position + 500);iv.setTag(myDate);LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT);iv.addView(txtDay, lp);LinearLayout.LayoutParams lp1 = new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT);iv.addView(txtToDay, lp1);return iv;}@Overridepublic void notifyDataSetChanged() {super.notifyDataSetChanged();}private Boolean equalsDate(Date date1, Date date2) {if (date1.getYear() == date2.getYear()&& date1.getMonth() == date2.getMonth()&& date1.getDate() == date2.getDate()) {return true;} else {return false;}}}
NumberHelper.java
public class NumberHelper {public static String LeftPad_Tow_Zero(int str) {java.text.DecimalFormat format = new java.text.DecimalFormat("00");return format.format(str);}}
R.Java
package com.dcs.test;public final class R { public static final class anim { public static final int slide_left_in=0x7f030000; public static final int slide_left_out=0x7f030001; public static final int slide_right_in=0x7f030002; public static final int slide_right_out=0x7f030003; } public static final class attr { } public static final class color { public static final int Noteback=0x7f040010; public static final int Text=0x7f04000e; public static final int ToDayText=0x7f04000f; public static final int br0=0x7f04000d; public static final int calendar_background=0x7f040001; public static final int calendar_zhe_day=0x7f040003; public static final int event_center=0x7f040004; public static final int forecast_point=0x7f04000c; public static final int frame=0x7f04000b; public static final int noMonth=0x7f040005; public static final int selection=0x7f040002; public static final int tempColor=0x7f04000a; public static final int text_6=0x7f040008; public static final int text_7=0x7f040009; public static final int title_text_6=0x7f040006; public static final int title_text_7=0x7f040007; public static final int white=0x7f040000; } public static final class drawable { public static final int bg=0x7f020000; public static final int icon=0x7f020001; public static final int jic_next=0x7f020002; public static final int jic_prev=0x7f020003; public static final int wigdet_bg=0x7f020004; } public static final class string { public static final int Fri=0x7f050005; public static final int Mon=0x7f050001; public static final int Sat=0x7f050006; public static final int Sun=0x7f050007; public static final int Thu=0x7f050004; public static final int Tue=0x7f050002; public static final int Wed=0x7f050003; public static final int app_name=0x7f050000; } public static final class style { public static final int Theme_Light=0x7f060000; }}
0 0
- 手势滑动日历
- 手势滑动日历
- 带手势滑动的日历Demo
- 滑动手势
- 全屏滑动,截取滑动手势
- 左右滑动日历控件
- android 手势左右滑动
- 屏幕滑动手势GestureDetector
- android手势左右滑动
- android 手势左右滑动
- android 手势滑动
- android 手势滑动demo
- Android_ViewFlipper_手势滑动
- Android_ViewPage_手势滑动
- tabhost activity 手势滑动
- 上下左右滑动手势
- ViewFlipper手势滑动
- iOS 上下左右滑动手势
- HDU—校赛—1004
- 如何避免 OOM 异常
- Arcgis Javascript那些事儿(八)--图层获取与图层顺序
- dsoframer.cpp
- android ---imageloader 加本地图片时 java.lang.UnsupportedOperationException: UIL doesn't support scheme,
- 手势滑动日历
- 深入理解SELinux SEAndroid(第一部分) .
- 程序猿头发保护协会
- Apache2(httpd-2.4.23)虚拟主机的配置
- 多重继承
- Android Fragment 真正的完全解析(下)
- append标签
- EOJ 1811 树的遍历
- java-面向对象编程-简介