package com.pwp.activity;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.DatePickerDialog;
import android.app.DatePickerDialog.OnDateSetListener;
import android.app.Dialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.graphics.Color;
import android.graphics.Typeface;
import android.graphics.drawable.ColorDrawable;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.view.Display;
import android.view.GestureDetector;
import android.view.GestureDetector.OnGestureListener;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.View.OnLongClickListener;
import android.view.View.OnTouchListener;
import android.view.WindowManager;
import android.view.animation.AnimationUtils;
import android.widget.AbsListView.LayoutParams;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.DatePicker;
import android.widget.GridView;
import android.widget.ImageButton;
import android.widget.LinearLayout;
import android.widget.TableLayout;
import android.widget.TableRow;
import android.widget.TextView;
import android.widget.ViewFlipper;
import com.pwp.borderText.BorderText;
import com.pwp.dao.ScheduleDAO;
import com.pwp.vo.ScheduleVO;
/**
* 日历显示activity
* @author jack_peng
*
*/
public class CalendarActivity extends Activity implements OnGestureListener,OnClickListener,OnLongClickListener {
private ViewFlipper flipper = null;
private GestureDetector gestureDetector = null;
private CalendarView calV = null;
private GridView gridView = null;
private BorderText topText = null;
// private TextView foot_tv = null;
private Drawable draw = null;
private static int jumpMonth = 0; //每次滑动,增加或减去一个月,默认为0(即显示当前月)
private static int jumpYear = 0; //滑动跨越一年,则增加或者减去一年,默认为0(即当前年)
private int year_c = 0;
private int month_c = 0;
private int day_c = 0;
private String currentDate = "";
private ScheduleDAO dao = null;
private ScheduleVO scheduleVO;
private String[] scheduleIDs;
private ArrayList<String> scheduleDate;
private Dialog builder;
private ScheduleVO scheduleVO_del;
public CalendarActivity() {
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-M-d");
currentDate = sdf.format(date); //当期日期
year_c = Integer.parseInt(currentDate.split("-")[0]);
month_c = Integer.parseInt(currentDate.split("-")[1]);
day_c = Integer.parseInt(currentDate.split("-")[2]);
dao = new ScheduleDAO(this);
}
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.rili);
gestureDetector = new GestureDetector(this);
flipper = (ViewFlipper) findViewById(R.id.flipper);
flipper.removeAllViews();
calV = new CalendarView(this, getResources(),jumpMonth,jumpYear,year_c,month_c,day_c);
addGridView();
gridView.setAdapter(calV);
//flipper.addView(gridView);
flipper.addView(gridView,0);
topText = (BorderText) findViewById(R.id.toptext);
addTextToTopTextView(topText);
// foot_tv =(TextView) findViewById(R.id.foot_tv);
}
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
float velocityY) {
int gvFlag = 0; //每次添加gridview到viewflipper中时给的标记
if (e1.getX() - e2.getX() > 50) {
//像左滑动
addGridView(); //添加一个gridView
jumpMonth++; //下一个月
calV = new CalendarView(this, getResources(),jumpMonth,jumpYear,year_c,month_c,day_c);
gridView.setAdapter(calV);
//flipper.addView(gridView);
addTextToTopTextView(topText);
gvFlag++;
flipper.addView(gridView, gvFlag);
this.flipper.setInAnimation(AnimationUtils.loadAnimation(this,R.anim.push_left_in));
this.flipper.setOutAnimation(AnimationUtils.loadAnimation(this,R.anim.push_left_out));
this.flipper.showNext();
flipper.removeViewAt(0);
return true;
} else if (e1.getX() - e2.getX() < -50) {
//向右滑动
addGridView(); //添加一个gridView
jumpMonth--; //上一个月
calV = new CalendarView(this, getResources(),jumpMonth,jumpYear,year_c,month_c,day_c);
gridView.setAdapter(calV);
gvFlag++;
addTextToTopTextView(topText);
//flipper.addView(gridView);
flipper.addView(gridView,gvFlag);
this.flipper.setInAnimation(AnimationUtils.loadAnimation(this,R.anim.push_right_in));
this.flipper.setOutAnimation(AnimationUtils.loadAnimation(this,R.anim.push_right_out));
this.flipper.showPrevious();
flipper.removeViewAt(0);
return true;
}
return false;
}
/**
* 创建菜单
*/
public boolean onCreateOptionsMenu(Menu menu) {
menu.add(0, menu.FIRST, menu.FIRST, "今天");
menu.add(0, menu.FIRST+1, menu.FIRST+1, "跳转");
return super.onCreateOptionsMenu(menu);
}
/**
* 选择菜单
*/
public boolean onMenuItemSelected(int featureId, MenuItem item) {
switch (item.getItemId()){
case Menu.FIRST:
//跳转到今天
int xMonth = jumpMonth;
int xYear = jumpYear;
int gvFlag =0;
jumpMonth = 0;
jumpYear = 0;
addGridView(); //添加一个gridView
year_c = Integer.parseInt(currentDate.split("-")[0]);
month_c = Integer.parseInt(currentDate.split("-")[1]);
day_c = Integer.parseInt(currentDate.split("-")[2]);
calV = new CalendarView(this, getResources(),jumpMonth,jumpYear,year_c,month_c,day_c);
gridView.setAdapter(calV);
addTextToTopTextView(topText);
gvFlag++;
flipper.addView(gridView,gvFlag);
if(xMonth == 0 && xYear == 0){
//nothing to do
}else if((xYear == 0 && xMonth >0) || xYear >0){
this.flipper.setInAnimation(AnimationUtils.loadAnimation(this,R.anim.push_left_in));
this.flipper.setOutAnimation(AnimationUtils.loadAnimation(this,R.anim.push_left_out));
this.flipper.showNext();
}else{
this.flipper.setInAnimation(AnimationUtils.loadAnimation(this,R.anim.push_right_in));
this.flipper.setOutAnimation(AnimationUtils.loadAnimation(this,R.anim.push_right_out));
this.flipper.showPrevious();
}
flipper.removeViewAt(0);
break;
case Menu.FIRST+1:
new DatePickerDialog(this, new OnDateSetListener() {
public void onDateSet(DatePicker view, int year, int monthOfYear,
int dayOfMonth) {
//1901-1-1 ----> 2049-12-31
if(year < 1901 || year > 2049){
//不在查询范围内
new AlertDialog.Builder(CalendarActivity.this).setTitle("错误日期").setMessage("跳转日期范围(1901/1/1-2049/12/31)").setPositiveButton("确认", null).show();
}else{
int gvFlag = 0;
addGridView(); //添加一个gridView
calV = new CalendarView(CalendarActivity.this, CalendarActivity.this.getResources(),year,monthOfYear+1,dayOfMonth);
gridView.setAdapter(calV);
addTextToTopTextView(topText);
gvFlag++;
flipper.addView(gridView,gvFlag);
if(year == year_c && monthOfYear+1 == month_c){
//nothing to do
}
if((year == year_c && monthOfYear+1 > month_c) || year > year_c ){
CalendarActivity.this.flipper.setInAnimation(AnimationUtils.loadAnimation(CalendarActivity.this,R.anim.push_left_in));
CalendarActivity.this.flipper.setOutAnimation(AnimationUtils.loadAnimation(CalendarActivity.this,R.anim.push_left_out));
CalendarActivity.this.flipper.showNext();
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
Android应用源码之支持农历的精美日历项目源码-IT计算机-毕业设计.zip (233个子文件)
resources.ap_ 471KB
Calendar_01.apk 506KB
proguard.cfg 1KB
CalendarActivity.class 14KB
ScheduleView.class 10KB
LunarCalendar.class 9KB
LunarCalendar.class 9KB
CalendarView.class 9KB
CalendarView.class 8KB
CalendarActivity$3.class 7KB
ScheduleDAO.class 7KB
ScheduleView.class 7KB
CalendarActivity.class 7KB
ScheduleDAO.class 6KB
ScheduleAll.class 5KB
ScheduleView$3.class 4KB
ScheduleInfoView.class 4KB
ScheduleInfoView.class 4KB
CalendarActivity$1.class 3KB
CalendarConvert.class 3KB
AlarmAlert.class 3KB
CalendarConvert$1$1.class 2KB
ScheduleView$1.class 2KB
ScheduleVO.class 2KB
DBOpenHelper.class 2KB
DBOpenHelper.class 2KB
ScheduleInfoView$1.class 2KB
AlarmHelper.class 2KB
ScheduleDateTag.class 2KB
ScheduleDateTag.class 2KB
CalendarConvert$2.class 2KB
CalendarActivity$3$1.class 2KB
CalendarConvert.class 2KB
ScheduleInfoView$1$1.class 2KB
ScheduleVO.class 2KB
CalendarActivity$4.class 1KB
ScheduleTypeView.class 1KB
CalendarConvert$1.class 1KB
BorderTextView.class 1KB
BorderEditText.class 1KB
BorderEditText.class 1KB
BorderTextView.class 1KB
ScheduleView$1$2.class 1KB
ScheduleView$2$1.class 1KB
ScheduleView$2.class 1KB
CallAlarm.class 1KB
CalendarActivity$3$2.class 1KB
R$drawable.class 1KB
SpecialCalendar.class 1KB
SpecialCalendar.class 1KB
AlarmAlert$1.class 1KB
R$id.class 1KB
ScheduleView$1$1.class 1KB
CalendarActivity$2.class 1KB
BorderText.class 933B
BorderText.class 933B
R$drawable.class 928B
CalendarActivity$5.class 870B
BootReceiver.class 867B
ScheduleView$1$3.class 850B
R$id.class 823B
R$color.class 814B
CalendarConstant.class 796B
CalendarConstant.class 796B
AlarmAlert$2.class 777B
R.class 653B
R$layout.class 582B
R.class 561B
R$layout.class 520B
R$anim.class 502B
R$anim.class 502B
R$style.class 459B
R$string.class 421B
R$string.class 421B
ObjectPool.class 345B
R$attr.class 334B
R$attr.class 334B
.classpath 288B
classes.dex 65KB
CalendarActivity.java 19KB
ScheduleView.java 15KB
CalendarView.java 10KB
LunarCalendar.java 10KB
ScheduleDAO.java 8KB
R.java 5KB
ScheduleInfoView.java 5KB
CalendarConvert.java 3KB
AlarmAlert.java 3KB
ScheduleVO.java 2KB
ScheduleDateTag.java 1KB
DBOpenHelper.java 1KB
AlarmHelper.java 1KB
SpecialCalendar.java 1KB
BorderText.java 1022B
BorderTextView.java 940B
BorderEditText.java 939B
CallAlarm.java 609B
BootReceiver.java 425B
CalendarConstant.java 314B
ObjectPool.java 143B
共 233 条
- 1
- 2
- 3
资源评论
- ぃ街头悻福の2022-06-10用户下载后在一定时间内未进行评价,系统默认好评。
芝麻粒儿
- 粉丝: 5w+
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功