package com.andbase.demo.activity;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;
import java.util.Random;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.TextView;
import com.ab.activity.AbActivity;
import com.ab.util.AbStrUtil;
import com.ab.util.AbToastUtil;
import com.ab.view.calendar.CalendarCell;
import com.ab.view.calendar.CalendarView;
import com.ab.view.titlebar.AbTitleBar;
import com.andbase.R;
public class CalendarActivity extends AbActivity {
private CalendarView mCalendarView = null;
private List<String> monthList = null;
private int currentMonthIndex = 0;
private TextView monthText = null;
private String currentMonth = null;
private AbTitleBar mAbTitleBar = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setAbContentView(R.layout.calendar);
mAbTitleBar = this.getTitleBar();
mAbTitleBar.setTitleText(R.string.calendar_name);
mAbTitleBar.setLogo(R.drawable.button_selector_back);
mAbTitleBar.setTitleBarBackground(R.drawable.top_bg);
mAbTitleBar.setTitleTextMargin(10, 0, 0, 0);
mAbTitleBar.setLogoLine(R.drawable.line);
initTitleRightLayout();
LinearLayout mLinearLayout = (LinearLayout)this.findViewById(R.id.layout01);
mCalendarView = new CalendarView(this);
mLinearLayout.addView(mCalendarView);
initTitleRightLayout();
mCalendarView.setHeaderHeight(45);
mCalendarView.setHeaderTextSize(20);
mCalendarView.setBackgroundResource(R.drawable.calendar_bg);
mCalendarView.setHeaderBackgroundResource(R.drawable.week_bg);
mCalendarView.setOnItemClickListener(new CalendarView.AbOnItemClickListener() {
@Override
public void onClick(int position) {
String date = mCalendarView.getStrDateAtPosition(position);
AbToastUtil.showToast(CalendarActivity.this,"点击了"+position+"值:"+date);
}
});
Calendar calendar = Calendar.getInstance();
monthList = new ArrayList<String>();
//
int curYear = calendar.get(Calendar.YEAR); // 得到系统年份
int curMonth = calendar.get(Calendar.MONTH) + 1; // 得到系统月份
int preYear = curYear-1;
for (int i = 1; i < 12; i++) {
monthList.add(preYear + "-" + AbStrUtil.strFormat2(String.valueOf(i)));
}
for (int i = 1; i <= curMonth; i++) {
monthList.add(curYear + "-" + AbStrUtil.strFormat2(String.valueOf(i)));
}
currentMonthIndex = monthList.size()-1;
currentMonth = monthList.get(currentMonthIndex);
monthText = (TextView)findViewById(R.id.monthText);
monthText.setText(currentMonth);
Button leftBtn = (Button)findViewById(R.id.leftBtn);
Button rightBtn = (Button)findViewById(R.id.rightBtn);
leftBtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
currentMonthIndex--;
if(currentMonthIndex>=0){
currentMonth = monthList.get(currentMonthIndex);
monthText.setText(currentMonth);
String [] yearmonth = currentMonth.split("-");
Calendar cal_select = Calendar.getInstance();
cal_select.set(Calendar.YEAR, Integer.parseInt(yearmonth[0]));
cal_select.set(Calendar.MONTH, Integer.parseInt(yearmonth[1])-1);
cal_select.set(Calendar.DAY_OF_MONTH, 1);
mCalendarView.rebuildCalendar(cal_select);
ArrayList<CalendarCell> mCalendarCell = mCalendarView.getCalendarCells();
for(int i=0;i<5;i++){
CalendarCell cc = mCalendarCell.get(new Random().nextInt(mCalendarCell.size()));
//有数据
cc.setHasRecord(true);
}
//showProgressDialog();
//netGet.downloadBeforeClean(item1);
}else{
currentMonthIndex++;
}
}
});
rightBtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
currentMonthIndex++;
if(currentMonthIndex<monthList.size()){
currentMonth = monthList.get(currentMonthIndex);
monthText.setText(currentMonth);
String [] yearmonth = currentMonth.split("-");
Calendar cal_select = Calendar.getInstance();
cal_select.set(Calendar.YEAR, Integer.parseInt(yearmonth[0]));
cal_select.set(Calendar.MONTH, Integer.parseInt(yearmonth[1])-1);
cal_select.set(Calendar.DAY_OF_MONTH, 1);
mCalendarView.rebuildCalendar(cal_select);
ArrayList<CalendarCell> mCalendarCell = mCalendarView.getCalendarCells();
for(int i=0;i<5;i++){
CalendarCell cc = mCalendarCell.get(new Random().nextInt(mCalendarCell.size()));
//有数据
cc.setHasRecord(true);
}
//mActivity.showProgressDialog();
//netGet.downloadBeforeClean(item1);
}else{
currentMonthIndex--;
}
}
});
ArrayList<CalendarCell> mCalendarCell = mCalendarView.getCalendarCells();
for(int i=0;i<5;i++){
CalendarCell cc = mCalendarCell.get(new Random().nextInt(mCalendarCell.size()));
//有数据
cc.setHasRecord(true);
}
}
private void initTitleRightLayout(){
mAbTitleBar.clearRightView();
}
@Override
protected void onResume() {
super.onResume();
}
public void onPause() {
super.onPause();
}
}