近日因公司需要学习了下android,在学习余暇做了个日历程序,虽然代码写的很是粗糙,虽然想再对其进行一次统一整理再进行发布,但先留个样本也无妨,希望能帮到一些朋友。

先看下效果再说事吧:

android日历程序

PS:为了下面说明,对图片进行区域划分,将上面的上翻下翻区域分为:控制区;周一至周日区域划分为:标题区;日历内容部分分为:正文区

以下是日历视图如何在Activity中显示的语句:

protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mainLayout = (LinearLayout)getLayoutInflater().inflate(
                R.layout.activity_main, null);
        setContentView(mainLayout);
        g_calendar = Calendar.getInstance();
                                                                                                                                                                                                                                          
        Display display = getWindowManager().getDefaultDisplay();
        int width = display.getWidth();
        int height = display.getHeight();
                                                                                                                                                                                                                                          
        PreCalendar cal = new PreCalendar(this, width, 200);
        cal.setBackgroundColor(Color.WHITE);
        cal.setTodayColor(Color.RED);
        cal.setSelectedColor(Color.GRAY);
        cal.setFirstOfWeak(Calendar.MONDAY);
        cal.setDate(g_calendar);    
        //cal.drawCalendar();
                                                                                                                                                                                                                                                  
        mainLayout.addView(cal);
                                                                                                                                                                                                                                          
    }

东西蛮多的,都贴上去看着会心烦,大概讲解下程序中有哪些文件,有想进一步了解的朋友可下载附件了解。PS:本程序是用android 4.3库开发实现的

日历源码文件有:

PreCalendar_HeaderCell.java   #标题区的视图块
PreCalendar_HeaderView.java   #标题区视图
PreCalendar_BodyCell.java     #正文区视图块
PreCalendar_BodyView.java     #正文区视图
PreCalendar.java              #用于将控制区、标题区、正文区整合成一个完整的日历视图