近日因公司需要学习了下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 #用于将控制区、标题区、正文区整合成一个完整的日历视图