这段时间搞flash需要用到日历控件,不过Flash自带的组件库中没有as3版本下的DateChooser,搜索也没找到什么现成的,于是写了个as3的。(绘制的界面是参考com.thomas.DatePicker.DatePicker的)
分享给同样在Flash开发中有需要的兄台。
使用方法:
- package
- {
- import org.mousebomb.utils.DateAndTime;
- import flash.events.Event;
- import org.mousebomb.ui.DatePicker;
- import flash.display.Sprite;
- /**
- * @author Mousebomb
- * @date 2009-7-21
- */
- public class TestMain extends Sprite
- {
- public var s : Sprite;
- public var dp : DatePicker;
- public function TestMain() : void
- {
- dp = new DatePicker();
- dp.x = 10;
- dp.y = 10;
- dp.firstDayOfWeek = 1;
- dp.disabledDays = [6,0];
- dp.showToday = true;
- dp.selectableRangeStart = new Date(2009,11,22);
- dp.selectableRangeEnd = new Date(2012,11,22);
- //dp.selectDate = new Date(2012,11,22);
- addChild(dp);
- dp.addEventListener(Event.SELECT, onSelect);
- dp.addEventListener(Event.SCROLL, onScroll);
- }
- private function onScroll(event : Event) : void
- {
- trace("scroll");
- }
- private function onSelect(event : Event) : void
- {
- trace(DateAndTime.formatDate("%Y-%m-%d",dp.selectDate));
- //dp.hide();
- }
- }
- }
这个例子演示了这样的效果:
- 默认样式、默认字体
- 星期一排在一周开始
- 周六周日不允许用户选择
- 标出今天
- 可选范围设定为2009.12.22~2012.12.22
下载org.mousebomb.ui.DatePicker类
如何製作flash swc UI?
@Ryan: 请参见官方教程:http://www.adobe.com/go/learn_fl_creating_components_cn
光的效果很不错哈
再出个农历版的 ^_*
@鼠标炸弹: 英文不太好=.= 找到製做UI的中文資源只有MX時代的,沒見到CS3以上的….
问一下,博主的个人Flash网站的 AIR客户端的界面是怎么做?我看见很多Flash程序的界面都是那种,不知道怎么来的,能不能说一下?
这没什么可说啊,我不知道你所遇到的困难在哪里。
你说的“看见很多Flash程序的界面都是那种”应该是指FLEX开发的那种“很官方、很通用”的感觉?还是指自定义窗体、不使用系统窗口?
恩,就是那个窗体外观,很好看
@Kuma: 直接用Adobe的创作环境设计好就行啦,注意发布air的时候把系统窗体去掉,这个在应用描述文件里面有。
关于AIR应用描述文件,以前有篇日志写了的:http://www.flashj.cn/wp/air-app-description-file.html
很漂亮,不知道会不会很占资源,试试去
import org.mousebomb.utils.DateAndTime;
这个类没有哦,压缩包中的类要怎么用啊请大侠教一下菜鸟吧
@小乱, org.mousebomb.utils.DateAndTime这个类是我自己用的,与此UI可以无关,你直接trace一个Date对象即可。
引用的DatePicker文件报错,我用的是CS4,这个跟版本有关系?
搞定了,可以用,谢谢了
scroll那块,选了之后的月份,之前的就没法回去了。
我的演示代码里面dp.selectableRangeEnd = new Date(2012,11,22);这一句设置了可选择的最后日期是传说中的世界末日,不过现在已经过了,而这个日历现在默认显示的月份是今天,只是看但不可选中,这符合逻辑,不是bug。你使用的时候去掉这句话即可。
你好 为什么不能点击呢