About

<#TEMPLATE_INCLUDE_NINEPAGE_ABOUTME#>
  • Jul

    22

    1、如果需要使用 MXML 语言,则自定义的列表类组件需扩展自 ListBase 类。支持 dataProvider, labelField, labelFunction,requiresSelection, selectedIndex, selectedItem, 和 useVirtualLayout 这些标签。

    2、如果只扩展 SkinnableDataContainer 类,那么仍然可以使用上面这些属性,但不能再使用 MXML 语法。

    3、Spark 命名空间的列表类组件中,包括自定义列表类组件中,如果使用 MXML 语法直接添加集合类数据(实现了 ICollectionView  类的数据)至控件,默认会包装在 dataProvider 中(也就是可以省略 <s:dataProvider/> 标签)。

    4、自定义列表类组件时,需要将皮肤和状态抽象为一个单独的类;从外部获得数据;项渲染器抽象为单独的类。

    5、labelFunction 以循环遍历的方式处理所有标签字段,如果一个列表类对象(包括自定义列表类对象)使用了 labelFunction 并不断的更新数据,这将可能会引发性能问题。

    Dec

    26

    FLEX 字符串换行方式

    • 1 Comments
    • Flash Platform

    FLEX 同时支持 MXML 语言与 AS3 ,换行符本身是一个特殊符号,所以需要用其它方式来表示。如 MXML 语言中需要实体编码方式,而在AS3中需要用到转义字符。

    MXML 标签中的实体编码为:&#xd;

    AS3中的转义字符为:\r或\n(注:AS3中已经没有了 newline 常量)。

    Dec

    22

    当在MXML语言中使用花括号调用类成员时的一个规则:类属性成员、get与set成员需要[Bindable] 元标签,并且会监视其相应变化;类方法成员本身不需要使用[Bindable] 元标签,但也不会监视方法成员内部被使用到过的属性成员、get与set成员的变化。

    如下样例代码:createFullName()方法定义时不需要使用[Bindable] 元标签,但当btn按扭点击时如果改变了firstName类属性成员的值,它并不会反应到lab实例的text属性中。

    <?xml version="1.0" encoding="utf-8"?>
    <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
    <mx:Script>
    <![CDATA[
    [Bindable]
    public var firstName:String = "11";
    public var lastName:String = "99" ;
    public function createFullName():String{
    return firstName + " " + lastName;
    }
    ]]>
    </mx:Script>
    <mx:Label id="lab" x="80" y="103" text="{createFullName()}"/>
    <mx:Button id="btn" x="85" y="144" label="Button" click="firstName='22';"/>
    </mx:Application>

    More...