`
TonyLian
  • 浏览: 397872 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

【Flex】自造控件的烦恼

阅读更多
为了满足自己的需求,也为了减轻大规模开发时的负担和出错概率,所以我需要自造一些控件。

首先,在网上找一些例子,搜到一个用NumericStepper加工成的时间输入控件,觉得它即简单适于学习上手,同时也可以直接拿来使用,所以就做了一些研究。看的过程中发现一些语句的写法是我之前从未见过的,觉得作者一定是个高手。

又从Yahoo下载了一个Yahoo控件的包(http://developer.yahoo.com/flash/astra-flex/),里面同样有一个类似的时间输入控件,还有一个专门输入IP地址的控件,也很实用。发现一些代码的写法和之前的例子类似,而且匪夷所思的程度更加厉害了,还是巨头厉害呀!

直到一次发现了这个(http://tonylian.iteye.com/admin/blogs/284604)才明白那些代码形成的原因。于是我的第一个自造控件出来了,一个固定有10个按钮的ButtonBar。由于开发的东东的要求,所有画面下方都要放这么10个按钮,为了简化画面的初始化操作,以共通方法代之,所以做这个控件。

我的体会是,既要"尊重"从MXML转化来的语句,又不能完全照搬,要根据自己的需要取其精华去其冗余,尤其是那些看不懂的部分,至少我的做法是要么闹清除它是在做什么,要不然干脆不用,自己去写(比如一个简单的绑定,转化后的AS几乎让人看不懂)。通过之前的2个例子也能看出,那些作者也并非大量采用转化后的代码,也就有N分之一(也许人家高手根本就不用这样转化,压根就是一行一行AS自己写的)

目前我的第一个控件还有一点小缺陷:由于整个ButtonBar是100%宽度的,ButtonBar的宽度可以随着画面的宽度变,但是每一个Button的宽度还是不能随着ButtonBar改变而改变的,不知有什么属性可以让所有Button等宽?我试图将Button的宽度和ButtonBar的宽度绑定(当然经过计算),但可能是由于Button宽度改变同时造成了ButtonBar的宽度也跟着改变,就造成了死循环。哪位有这方面的解决方法请不吝赐教。
分享到:
评论
3 楼 mfree 2009-01-10  
<button width="{(ButtonBar-*)/10}"/>

大概意思..这样不行嘛?
2 楼 hansonmo 2009-01-07  
试试获取每个buttonBar然后setStyle,如果嫌麻烦,写个根据index循环然后setStyle。。。

不知道对不对~
1 楼 fight_bird 2008-12-08  
看样子楼主没有认真看Flex Builder自带的文档,否则,楼主的这些问题都是基本的技能。

Adobe为Flex的推广是费劲心思,Flex Builder自带文档就是Flex最专业的教材。

相关推荐

Global site tag (gtag.js) - Google Analytics