关于Google日历中事件排列算法的实现
2012-04-24福建省科学技术信息研究所刘怀北
海峡科学 2012年4期
福建省科学技术信息研究所 刘怀北
关于Google日历中事件排列算法的实现
福建省科学技术信息研究所 刘怀北
Google Calendar作为一款基于事件的日历系统,以友好的操作界面和实用的功能而著称。在事件的显示方面,通过自适应调整事件宽度的方式进行排列,避免事件之间的重叠,直观地反映事件的时间与分布。该文对Google Calendar中事件排列显示的方式进行了解析,对其中的概念进行了抽象与定义,并提出了一种相应的算法实现。
Google Calendar 功能 事件排列算法
0 引言
Google Calendar[1]作为Google在线服务的一个重要组成部分,以其简洁易用的操作界面、全面实用的功能以及丰富而强大的插件,赢得了广大用户的青睐。在显示事件的方式上,Google Calendar通过自适应调整事件宽度进行排列的方式来处理时间上存在重叠的事件,从而使得用户能够一目了然地查看事件的时间与分布。
本文通过对该事件显示方式进行一系列的解析,阐述自适应调整宽度进行排列的目的与方法,构造并提出一种相应的算法实现。
1 事件的排列显示
如下图1所示,不同情况下事件的显示方式可以归纳为以3种:
● 自然排列:每个事件都完整的显示,并占据整列;
● 重叠排列:每个事件都占据整列显示,后面的事件会遮盖前面的事件;
● 自适应宽度排列:每个事件各占据约整列宽的一半,并且完整显示。

图1 事件的3种排列显示方式
显然,当2个事件之间存在重叠的情况下,第3种排列显示方法要比第2种方法更有效,用户能够直观地看到2个事件的时间跨度,而第2种重叠排列的显示方式则无法反映出第1个事件在何时结束,用户必须借助文字信息才能做出判断。……
登录APP查看全文
