先設想一下:一個日歷應該是這樣的 最上面是星期頭,{周日/周一/周二/周三/周四/周五/周六},下面的日歷的具體天,當然該如何擺放其實只要知道兩個條件就可以了 第一 當前月的第一天是星期幾 第二 當前月總有多少天 剩下的事情就是挨個畫出來了,想怎么畫就怎么畫,不區分語言和平臺。下來看看java平臺的做法:
/**
* Method Description:
* 返回當前日期月的最大天數
* @author: laoshulin@gmail.com
* @createTime: Jan 18, 2011 9:09:49 AM
* @return
*/
public static int getMaxDays() {
Calendar cdate = Calendar.getInstance();
return cdate.getActualMaximum(Calendar.DATE);
}
/**
* Method Description:
* 返回當前日期月第一天的星期
* @author: laoshulin@gmail.com
* @createTime: Jan 18, 2011 9:05:25 AM
* @return
*/
public static String getWeek() {
Calendar cdate = Calendar.getInstance();
cdate.set(Calendar.DATE, 1);
String[] weekDays = {"星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"};
return weekDays[cdate.get(Calendar.DAY_OF_WEEK)-1];
}
* Method Description:
* 返回當前日期月的最大天數
* @author: laoshulin@gmail.com
* @createTime: Jan 18, 2011 9:09:49 AM
* @return
*/
public static int getMaxDays() {
Calendar cdate = Calendar.getInstance();
return cdate.getActualMaximum(Calendar.DATE);
}
/**
* Method Description:
* 返回當前日期月第一天的星期
* @author: laoshulin@gmail.com
* @createTime: Jan 18, 2011 9:05:25 AM
* @return
*/
public static String getWeek() {
Calendar cdate = Calendar.getInstance();
cdate.set(Calendar.DATE, 1);
String[] weekDays = {"星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"};
return weekDays[cdate.get(Calendar.DAY_OF_WEEK)-1];
}
cdate.set(Calendar.MONTH,cdate.get(Calendar.MONTH)+1);
cdate.set(Calendar.DAY_OF_MONTH,1);
cdate.set(Calendar.DATE,cdate.get(Calendar.DATE)-1);
System.out.println("當月天數:"+cdate.get(Calendar.DAY_OF_MONTH));
cdate.set(Calendar.DAY_OF_MONTH,1);
cdate.set(Calendar.DATE,cdate.get(Calendar.DATE)-1);
System.out.println("當月天數:"+cdate.get(Calendar.DAY_OF_MONTH));

這個是作為例子的java控制臺輸出,如果作為黑莓模擬器是不行的,后面我會繼續黑莓的相關做法,當然如果你要求好看點的話要自己實現UI控件來繪制。