自定义日历的Android网格布局

时间:2011-10-04 15:57:42

标签: java android calendar

我正在开发一个需要我们自己的自定义日历视图的项目。我一直在试图找出解决这个问题的最佳方法。 我正在考虑使用Master xml文件来定义日历的基本布局,然后使用辅助xml文件,并将其作为对象数组嵌入到日历的每个单元格中。

不确定这是否可行,或者这是否是解决此问题的最佳方法?

干杯

2 个答案:

答案 0 :(得分:1)

我最近使用TableLayout创建了一个Month布局。

我考虑到你需要6x7天一个月才能处理所有可能的情况。 (本月的第一天是星期日,本月的最后一天是星期一等。)

根据给定日期(比如8月3日),我计算要显示的第一天

date = 3rd of August
firstDate = first day of month based on date
while( firstDate is not a monday )
   firstDate = present date

然后我计算要显示的最后一天:

lastDate = last day of month based on date
while( lastDate is not a Sunday )
   lastDay = following date

这为我提供了从firstDatelastDate

的日期间隔

然后我以编程方式创建6个TableRow,其中有7天 - TextView或其他。如果您不想动态创建太多布局,则可以在XML文件中声明它。要记住的一件事是为layout_weight设置TextViews,以便它们都大小相同,以创建一个漂亮的网格。

如果您需要的更像是一天或一周的布局,那么挑战就会更加艰难。

答案 1 :(得分:0)

Android有一个用于完成所有数学运算的工具来查找一个月内的日子。我想使用带有 android.util.MonthDisplayHelper 的gridview应该有效。

相关问题