:::: 菜单 ::::

适用于Flash的纯as3日历控件

这段时间搞flash需要用到日历控件,不过Flash自带的组件库中没有as3版本下的DateChooser,搜索也没找到什么现成的,于是写了个as3的。(绘制的界面是参考com.thomas.DatePicker.DatePicker的)
分享给同样在Flash开发中有需要的兄台。

使用方法:

  1. package 
  2. {
  3.     import org.mousebomb.utils.DateAndTime;
  4.     import flash.events.Event;
  5.  
  6.     import org.mousebomb.ui.DatePicker;
  7.  
  8.     import flash.display.Sprite;   
  9.  
  10.     /**
  11.      * @author Mousebomb
  12.      * @date 2009-7-21
  13.      */
  14.     public class TestMain extends Sprite
  15.     {
  16.         public var s : Sprite;
  17.         public var dp : DatePicker;
  18.  
  19.         public function TestMain() : void
  20.         {
  21.             dp = new DatePicker();
  22.             dp.x = 10;
  23.             dp.y = 10;
  24.            
  25.             dp.firstDayOfWeek = 1;
  26.             dp.disabledDays = [6,0];
  27.             dp.showToday = true;
  28.             dp.selectableRangeStart = new Date(2009,11,22);
  29.             dp.selectableRangeEnd = new Date(2012,11,22);
  30.             //dp.selectDate = new Date(2012,11,22);
  31.             addChild(dp);
  32.             dp.addEventListener(Event.SELECT, onSelect);
  33.             dp.addEventListener(Event.SCROLL, onScroll);
  34.         }
  35.        
  36.         private function onScroll(event : Event) : void
  37.         {
  38.             trace("scroll");
  39.         }
  40.  
  41.         private function onSelect(event : Event) : void
  42.         {
  43.             trace(DateAndTime.formatDate("%Y-%m-%d",dp.selectDate));
  44.             //dp.hide();
  45.         }
  46.     }
  47. }

这个例子演示了这样的效果:

  • 默认样式、默认字体
  • 星期一排在一周开始
  • 周六周日不允许用户选择
  • 标出今天
  • 可选范围设定为2009.12.22~2012.12.22

下载org.mousebomb.ui.DatePicker类

延伸阅读


  1. @鼠标炸弹: 英文不太好=.= 找到製做UI的中文資源只有MX時代的,沒見到CS3以上的….

  2. 问一下,博主的个人Flash网站的 AIR客户端的界面是怎么做?我看见很多Flash程序的界面都是那种,不知道怎么来的,能不能说一下?

  3. 这没什么可说啊,我不知道你所遇到的困难在哪里。
    你说的“看见很多Flash程序的界面都是那种”应该是指FLEX开发的那种“很官方、很通用”的感觉?还是指自定义窗体、不使用系统窗口?

  4. import org.mousebomb.utils.DateAndTime;
    这个类没有哦,压缩包中的类要怎么用啊请大侠教一下菜鸟吧

  5. @小乱, org.mousebomb.utils.DateAndTime这个类是我自己用的,与此UI可以无关,你直接trace一个Date对象即可。

  6. 引用的DatePicker文件报错,我用的是CS4,这个跟版本有关系?

  7. scroll那块,选了之后的月份,之前的就没法回去了。

  8. 我的演示代码里面dp.selectableRangeEnd = new Date(2012,11,22);这一句设置了可选择的最后日期是传说中的世界末日,不过现在已经过了,而这个日历现在默认显示的月份是今天,只是看但不可选中,这符合逻辑,不是bug。你使用的时候去掉这句话即可。