LiquidLayouter Ver1.1リリースのお知らせ

LiquidLayouter Ver1.1をリリースしました。LiquidLayouterページより、ダウンロードできます。Ver1.0との互換性を維持していますので、プロジェクトの途中で差し替えても問題ありません。

今回のリリースでは、addResizeListenItemメソッドとremoveResizeListenItemメソッドを追加し、これらのメソッドの引数で使用するインターフェイスIResizeListenItemを定義しています。

LiquidLayouterは、addResizeListenItemメソッドにより登録されたオブジェクトに対して、StageのEvent.RESIZEが発生するたびにonStageResizeメソッドを呼び出します。これにより、個々のオブジェクトでオリジナルの処理をすることを補助します。addResizeListenItemメソッドでLiquidLayouterに登録するオブジェクトは、IResizeListenItemインターフェイスを実装する必要があります。

下記のコードは、IResizeListenItemインターフェイスを実装したクラスの例です。jp.kudox.layout.IResizeListenItemをimportし、クラス定義でimplements IResizeListenItemと記述し、インターフェイスを実装します。IResizeListenItemインターフェイスを実装したクラスでは、必ずonStageResizeメソッドを定義する必要があります。

ActionScript3.0

package {
  import flash.display.Sprite;
  import flash.events.Event;
  import jp.kudox.layout.LiquidLayouter;
  import jp.kudox.layout.IResizeListenItem;
  public class Foo extends Sprite implements IResizeListenItem {
    public function Foo() {
    }
    public function onStageResize(e:Event = null):void {
      trace("Foo's onStageResize()");
    }
  }
}

次にaddResizeListenItemメソッドでオブジェクトをLiquidLayouterに登録します。引数でIResizeListenItemインターフェイスを実装したオブジェクトを渡します。

ActionScript3.0

var foo:Foo = new Foo();
addChild(foo);
trace(foo is IResizeListenItem); // 出力:true
LiquidLayouter.addResizeListenItem(foo);

addResizeListenItemメソッドは、addLiquidItemメソッドやaddSizeFollowItemメソッドと違い、autoRemoveのオプションを持っていません。 メモリを解放するため、登録したオブジェクトの処理が必要なくなった時点で、下記のようにremoveResizeListenItemメソッドを呼ぶようにして下さい。

ActionScript3.0

trace(foo is IResizeListenItem); // 出力:true
removeChild(foo);
LiquidLayouter.removeResizeListenItem(foo);

詳しくは、リファレンスをご覧下さい。また、不具合等ございましたら、Contactページよりご連絡頂けると助かります。