我一直在寻找一套在纯AS环境下使用的组件库(如果你也在找,可以看看这里),曾经使用过一段时间ASWing,最终还是放弃了,后来就看到这套小巧的库。Minimal Comps是由业界大牛Keith Peter编写的一套轻量级纯AS组件库,用来写一些测试用的程序是再方便不过了,整个架构也非常清晰明了,一些没有提供的功能,自己也可以直接来修改源码实现。下面就简单说说这套组件的用法。
网上有些资料说这套组件是不支持中文的,其实不然。默认不能显示中文的原因主要是组件默认使用了嵌入字体。如果希望组件支持中文,将Style.embedFonts设置为false即可。其他的一些默认设置,例如字体、文字大小和颜色、组件背景色等等,都可以通过设置Style这个静态类的属性来实现。对于中文用户来说,还可以取消Components类中的嵌入字体,这样可以进一步减小最终文件的大小,要取消字体嵌入,在Components中搜索下面两句并注释掉即可。
- // Flex 4.x sdk:
- //[Embed(source="/assets/pf_ronda_seven.ttf", embedAsCFF="false", fontName="PF Ronda Seven", mimeType="application/x-font")]
- // Flex 3.x sdk:
- //[Embed(source="/assets/pf_ronda_seven.ttf", fontName="PF Ronda Seven", mimeType="application/x-font")]
复制代码
Minimal Comps组件非常小,Keith Peter用该组件制作了一个站点,该站点只有一个swf文件,大小为43K,同时还制作了一个Designer,这个更小,约26K。下面给出一个中文使用范例:
- package
- {
- import com.bit101.components.PushButton;
- import com.bit101.components.Style;
-
- import flash.display.Sprite;
-
- public class MinimalComps extends Sprite
- {
- private var _btn:PushButton;
- public function MinimalComps()
- {
- Style.fontSize = 12;
- Style.embedFonts = false;
- Style.fontName = 'Microsoft YaHei';
- Style.BACKGROUND = 0x000000;
- Style.BUTTON_FACE = 0xCCCCCC;
- _btn = new PushButton(this, 100, 100, '测试');
- _btn.setSize(100, 25);
- // _btn.enabled = false;
- }
- }
- }
Skinnable Minimal Components
MinimalComps的官方版本是不支持皮肤的,而这个就是它支持皮肤的版本。