AIRアプリでウィンドウのフレームやタイトルバーを非表示にする

アプリケーション記述ファイル(アプリケーション名-app.xml)を編集。

<systemChrome>none</systemChrome>

<transparent>true</transparent>

のように変更するとWindowedApplication内の要素のみが表示されるようになる。(transparent要素にtrueを指定するのは後述のドロップシャドウ利用時用)

後は必要に応じてウィンドウを閉じたり、最大・最小化するためのコントロールや、ウィンドウの移動やサイズの変更を行えるようにする。必要なメソッドはstage.nativeWindowオブジェクトが持っているのでそれを使う。

 

ウィンドウのフレームがなくなると縁が妙に目立つのでドロップシャドウをかけてみる。
ドロップシャドウをかけるには、DisplayObjectのfiltersプロパティに flash.filters.DropShadowFilter クラスのインスタンスを配列に入れてセットする。

public static function setDropShadow(target:DisplayObject, dropShadowFilter:DropShadowFilter):void {
  if (!target || !dropShadowFilter) {
    return;
  }
  target.filters = [dropShadowFilter];
}

とりあえずこういうメソッド作って呼んでみてます。

コメントを残す