Air for Android用Alertダイアログ(確認ダイアログ)ライブラリを作成

このエントリーをはてなブックマークに追加
はてなブックマーク - Air for Android用Alertダイアログ(確認ダイアログ)ライブラリを作成
Share on Facebook
Post to Google Buzz
Bookmark this on Yahoo Bookmark
Bookmark this on Livedoor Clip
Share on FriendFeed
Air for Android用Alertダイアログ(確認ダイアログ)ライブラリを作成Machikita Studio

概要


モバイルプロジェクトでは、mx.controls.Alert(確認ダイアログ)が使用できませんでした。
(Flex 4.5.1)
そこでライブラリとして自作することにしました。
TitleWindowがモバイルでも使えたのでこれベースとして作成。

 


仕様


Alertと挙動を合わせるために、
 
  1. static関数のshow()で表示
  2. ダイアログが閉じたときに、CloseEventをディスパッチ
  3. CloseEvent.detailに、選択結果を格納
 
という仕様にしました。
 
 
ダウンロード


  ・ ライブラリファイル(.swcファイル)
  ・ プロジェクトファイル(.zip)
  ・ ASDoc(APIリファレンス)
 
 
使い方


1. ライブラリファイル(AlertDialog.swc)を、プロジェクトのlibフォルダにおきます



 

2.確認ダイアログを表示したいときに、AlertDialog.show()関数を呼びます。

1
2
3
4
5
6
7
AlertDialog.show(
                   this,
                   "メッセージ",
                   "タイトル",
                   AlertDialog.YES_NO_DIALOG,
                   onCloseAlertDialog
                );

引数として、

  1. ダイアログの親のDisplayObject
  2. 表示するメッセージ
  3. ダイアログのタイトル
  4. ダイアログの種類(デフォルト: YES/NOダイアログ)
  5. ダイアログが閉じたときに呼ばれる関数 (CloseEventのEventListenner, デフォルト: null)

を指定します。

ダイアログの種類 (第4引数)は、

  ・YES/NOダイアログ (AlertDialog.YES_NO_DIALOG)
  ・YES/NO/Cancelダイアログ (AlertDialog.YES_NO_CANCEL_DIALOG)
  ・OKダイアログ (AlertDialog.OK_DIALOG)
  ・OK/CANCELダイアログ (AlertDialog.OK_CANCEL_DIALOG)

から選択できます。

 

3.確認ダイアログが閉じたときに呼ばれる関数(CloseEventのEventListener)を作成します。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
/** 3. AlertDialogが閉じたときに呼ばれる関数 */
private function onCloseAlertDialog
                     (event:CloseEvent):void
{
    /* 選択結果 */
    var result:int = event.detail;
               
    if(result == AlertDialog.YES)
    {
        /* yesを選択したとき */     
    }
    else if(result == AlertDialog.NO)
    {
        /* noを選択したとき */
    }
}

CloseEventのdetailに、確認ダイアログでのボタンの押下結果が含まれます。

  ・Yesを選択したときは、AlertDialog.YES
  ・Noを選択したときは、AlertDialog.NO
  ・OKを選択したときは、AlertDialog.OK
  ・Cancelを選択したときは、AlertDialog.Cancel
 
が格納されます。

  1. Daisuke Uchida’s avatar

    私も同様の悩みを抱えて調査していたところ、貴殿のココにたどり着きました。
    とても有用なライブラリを公開いただきありがとうございます。

    返信

    1. torta’s avatar

      コメントありがとうございます。
      お役に立つことができてよかったです。

      返信

Reply to Daisuke Uchida コメントをキャンセル

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>