Adobe
製品
Acrobat
Creative Cloud
Creative Suite
Digital Marketing Suite
Digital Publishing Suite
Elements
Photoshop
Touch Apps
その他の製品一覧
ソリューション
デジタルマーケティング
デジタルメディア
教育
金融機関
Web Experience Management
その他のソリューション
ラーニング サポート ダウンロード 会社情報
ご購入
アドビストア 安心のサポート& サービス
アカデミックストア 学生、教職員、個人向け
アドビライセンスストア 中小企業向け
ボリュームライセンスについて 企業、教育機関、官公庁向け
販売パートナー
キャンペーン情報
検索
 
情報 サインイン
ようこそ、 さん カート 注文状況 マイアカウント
マイアカウント
注文状況
アカウント情報の変更
コミュニケーションの設定を変更
サインアウト
サインインの目的 お客様のアカウントや体験版ダウンロード、製品の拡張機能、コミュニティエリアへのアクセスなどを管理するため
Adobe
製品 セクション ご購入   検索  
ソリューション 会社情報
サポート ラーニング
サインイン サインアウト 注文状況 マイアカウント
先行予約の提供開始予定日Date. 商品が発送されるまで、クレジットカードには課金されません。提供開始の予定日は変更される場合があります。 先行予約の提供開始予定日Date. ダウンロードの準備が整うまで、クレジットカードには課金されません。提供開始の予定日は変更される場合があります。
個数:
ご購入には学生・教職員個人版の購入資格の確認が必要です。
小計
カートの中身を見る
Adobe Developer Connection / Flexデベロッパーセンター /

Flex 4.6 SDKの新機能 前編 SpinnerList/DateSpinner/ToggleSwitch

著者 廣畑 大雅 (taiga)氏

廣畑 大雅 (taiga)氏
  • taiga.jp

Content

  • 新しいモバイルコンポーネント
  • SpinnerListコンポーネント
  • DateSpinnerコンポーネント
  • ToggleSwitchコンポーネント

作成日

7 December 2011

ページ ツール

Facebookでシェア
Twitterでツイート
LinkedInでシェア
ブックマーク
印刷

タグ

必要条件

ユーザーレベル

中級

必要な製品

  • Flash Builder (体験版ダウンロード)
  • Flex (体験版ダウンロード)

サンプルファイル

  • Flex46sample01.zip

本記事では、Flex 4.6 SDKから採用された新しいコンポーネントについて解説します。なお、Flash Builder 4.6にバンドルされている標準のFlex SDK(バージョン4.6.0.23201)を対象にしています。

新しいモバイルコンポーネント

Flex 4.6 SDKで新しく追加されたコンポーネントは、主にFlexモバイルアプリケーション向けのコンポーネントで、次の5種類です。

  • SpinnerList
  • DateSpinner
  • ToggleSwitch
  • Callout
  • SplitViewNavigator

それでは各コンポーネントについて解説していきますが、前編ではSpinnerList/DateSpinner/ToggleSwitch、後編ではCallout/SplitViewNavigatorを取り上げます。

SpinnerListコンポーネント

SpinnerListは、上下にドラッグすることによって、回転ドラムのように動作するリストのコンポーネントです。一般的には、NumericStepperコンポーネントのように、数字選択の用途で使用します。

ListBaseを継承しているので、Listコンポーネントと同様にdataProviderプロパティにデータをセットしてリストを構築します。SpinnerListコンポーネントは常に単一の選択状態をサポートし、選択した項目はコンポーネントの中心に位置するという特徴を兼ね備えています。

SpinnerListコンポーネントを使用するときには、基本的にSpinnerListContainerと併せて使います。次のコードは、SpinnerListコンポーネントを使ったシンプルなサンプルです(サンプル:SpinnerListSample.fxp)。

ソースコード:SpinnerListSample/src/views/SpinnerListSampleView01.mxml

<?xml version="1.0" encoding="utf-8"?> <!--- SpinnerList Sample 01 --> <s:View xmlns:fx = "http://ns.adobe.com/mxml/2009" xmlns:s = "library://ns.adobe.com/flex/spark" title = "SpinnerList Sample" > <s:SpinnerListContainer width = "100" verticalCenter = "0" horizontalCenter = "0" > <s:SpinnerList width="100%" textAlign="center"> <s:dataProvider> <s:ArrayList> <fx:int>1</fx:int> <fx:int>2</fx:int> <fx:int>3</fx:int> <fx:int>4</fx:int> <fx:int>5</fx:int> <fx:int>6</fx:int> <fx:int>7</fx:int> <fx:int>8</fx:int> <fx:int>9</fx:int> </s:ArrayList> </s:dataProvider> </s:SpinnerList> </s:SpinnerListContainer> </s:View>
fig01
図1 SpinnerListSampleView01.mxmlの出力結果

SpinnerContainerは、複数のSpinnerListを内包することができ、水平方向にレイアウトする機能を持っているので、次のようなUIを構築することも可能です。

ソースコード:SpinnerListSample/src/views/SpinnerListSampleView02.mxml

<?xml version="1.0" encoding="utf-8"?> <!--- SpinnerList Sample 02 --> <s:View xmlns:fx = "http://ns.adobe.com/mxml/2009" xmlns:s = "library://ns.adobe.com/flex/spark" title = "SpinnerList Sample" > <s:SpinnerListContainer width = "200" verticalCenter = "0" horizontalCenter = "0" > <s:SpinnerList width="100%" textAlign="center"> <s:dataProvider>…</s:dataProvider> </s:SpinnerList> <s:SpinnerList width="100%" textAlign="center"> <s:dataProvider>…</s:dataProvider> </s:SpinnerList> </s:SpinnerListContainer> </s:View>
SpinnerListSampleView02.mxmlの出力結果
図2 SpinnerListSampleView02.mxmlの出力結果

SpinnerListのアイテムレンダラーをIconItemRendererに変更することで、画像を表示することも可能です。

ソースコード:SpinnerListSample/src/views/SpinnerListSampleView03.mxml

<?xml version="1.0" encoding="utf-8"?> <!--- SpinnerList Sample 03 --> <s:View xmlns:fx = "http://ns.adobe.com/mxml/2009" xmlns:s = "library://ns.adobe.com/flex/spark" title = "SpinnerList Sample 03" > <fx:Declarations> <s:ArrayList id="listData"> <fx:Object data="@Embed(source='assets/images/taigaBlack.png')" label="" /> <fx:Object data="@Embed(source='assets/images/taigaBlue.png')" label="" /> <fx:Object data="@Embed(source='assets/images/taigaGreen.png')" label="" /> <fx:Object data="@Embed(source='assets/images/taigaOrange.png')" label="" /> <fx:Object data="@Embed(source='assets/images/taigaPink.png')" label="" /> <fx:Object data="@Embed(source='assets/images/taigaRed.png')" label="" /> <fx:Object data="@Embed(source='assets/images/taigaYellow.png')" label="" /> </s:ArrayList> </fx:Declarations> <s:SpinnerListContainer width = "400" height = "300" verticalCenter = "0" horizontalCenter = "0" > <s:SpinnerList width="100%" textAlign="center" dataProvider="{listData}"> <s:itemRenderer> <fx:Component> <s:IconItemRenderer iconField="data" /> </fx:Component> </s:itemRenderer> </s:SpinnerList> <s:SpinnerList width="100%" textAlign="center" dataProvider="{listData}"> <s:itemRenderer> <fx:Component> <s:IconItemRenderer iconField="data" /> </fx:Component> </s:itemRenderer> </s:SpinnerList> </s:SpinnerListContainer> </s:View>
SpinnerListSampleView03.mxmlの出力結果
図3 SpinnerListSampleView03.mxmlの出力結果

DateSpinnerコンポーネント

DateSpinnerは、前述のSprinnerContainerとSpinnerListを拡張した、日付選択コンポーネントです。次の3つの表示モードを備えています。

  • 「日付」表示(年月日) displayMode=”date”
  • 「時刻」表示(時分) displayMode=”time”
  • 「日付+時刻」表示(月日時分) displayMode=”dateAndTime”

さらにロケールにも対応しているので、日本表記にする場合は、localeスタイルプロパティに”ja_JP”という値を指定します(デフォルト値は“en_US”)。他にも、選択できる日付の範囲を指定することができるminDate/maxDateプロパティや、選択できる分間隔を指定するminuteStepSizeプロパティが用意されています。

次のコードは、DateSpinnerコンポーネントを使ったサンプルで、ロケールは“ja_JP”、表示モードは日付に設定しています(サンプル:DateSpinnerSample.fxp)

ソースコード:DateSpinnerSample/src/views/DateSpinnerSampleView01.mxml

<?xml version="1.0" encoding="utf-8"?> <!--- DateSpinner Sample 01 --> <s:View xmlns:fx = "http://ns.adobe.com/mxml/2009" xmlns:s = "library://ns.adobe.com/flex/spark" title = "SpinnerList Sample 01" > <s:DateSpinner width = "400" displayMode = "date" verticalCenter = "0" horizontalCenter = "0" locale = "ja_JP" /> </s:View>
DateSpinnerSampleView01.mxmlの出力結果。現在の日付となる選択肢部分は青色で表示されます(時刻表示のときには適用されません)
図4 DateSpinnerSampleView01.mxmlの出力結果。現在の日付となる選択肢部分は青色で表示されます(時刻表示のときには適用されません)

他の指定方法と出力結果を以下にまとめました。

ロケール:“ja_JP”、表示モード:時間

ソースコード:DateSpinnerSample/src/views/DateSpinnerSampleView02.mxml

<s:DateSpinner displayMode = "time" locale = "ja_JP" />
DateSpinnerSampleView02.mxmlの出力結果。“ja_JP”では24時間表示となります
図5 DateSpinnerSampleView02.mxmlの出力結果。“ja_JP”では24時間表示となります

ロケール:“en_US”、表示モード:時間

ソースコード:DateSpinnerSample/src/views/DateSpinnerSampleView03.mxml

<s:DateSpinner displayMode = "time" locale = "en_US" />
DateSpinnerSampleView03.mxmlの出力結果。“en_US”ではAM/PM表示となります
図6 DateSpinnerSampleView03.mxmlの出力結果。“en_US”ではAM/PM表示となります

ロケール:“ja_JP”、表示モード:日付+時間

ソースコード:DateSpinnerSample/src/views/DateSpinnerSampleView04.mxml

<s:DateSpinner displayMode = "dateAndTime" locale = "ja_JP" />
DateSpinnerSampleView04.mxmlの出力結果
図7 DateSpinnerSampleView04.mxmlの出力結果

ロケール:“ja_JP”、表示モード:日付(選択範囲を制限)

ソースコード:DateSpinnerSample/src/views/DateSpinnerSampleView05.mxml

<s:DateSpinner displayMode = "date" locale = "ja_JP" minDate = "{new Date(2000, 10, 1)}" maxDate = "{new Date(2020, 11, 1)}" selectedDate = "{new Date(2011, 10, 20)}" />
DateSpinnerSampleView05.mxmlの出力結果
図8 DateSpinnerSampleView05.mxmlの出力結果

ロケール:“en_US”、表示モード:時間(選択肢を15分間隔に設定)

ソースコード:DateSpinnerSample/src/views/DateSpinnerSampleView06.mxml

<s:DateSpinner displayMode = "time" locale = "en_US" minuteStepSize = "15" />
DateSpinnerSampleView06.mxmlの出力結果
図9 DateSpinnerSampleView06.mxmlの出力結果

ToggleSwitchコンポーネント

ToggleSwitchは、モバイルやタブレットデバイスで馴染みのあるトグルスイッチコンポーネントです。ToggleButtonBaseを継承しているので、ToggleButtonコンポーネントと同じようにオン/オフ(選択/非選択)を切り替えることができ、さらにHSliderコンポーネントのようなスライダー操作機能を兼ね備えています。

次のコードは、ToggleSwitch コンポーネントを使ったシンプルなサンプルです(サンプル:ToggleSwitchSample.fxp)。

ソースコード:ToggleSwitchSample/src/views/ToggleSwitchSampleView01.mxml

<?xml version="1.0" encoding="utf-8"?> <!--- ToggleSwitch Sample 01 --> <s:View xmlns:fx = "http://ns.adobe.com/mxml/2009" xmlns:s = "library://ns.adobe.com/flex/spark" title = "ToggleSwitch Sample 01" > <s:layout> <s:VerticalLayout verticalAlign = "middle" horizontalAlign = "center" /> </s:layout> <s:ToggleSwitch selected="true" /> <s:ToggleSwitch selected="false" /> </s:View>
ToggleSwitchSampleView01.mxmlの出力結果
図10 ToggleSwitchSampleView01.mxmlの出力結果

ToggleSwitchコンポーネントのラベルを変更する場合には、ToggleSwitchSkinクラスを拡張したカスタムスキンを作成します。次のコードは、ToggleSwitchコンポーネントのラベルと、選択/非選択状態それぞれのスキンカラーを変更するカスタムスキンクラスです。

ソースコード:ToggleSwitchSample/src/skins/CustomToggleSwitchSkin.as

package skins { import spark.skins.mobile.ToggleSwitchSkin; /** * Custom ToggleSwitch Skin */ public class CustomToggleSwitchSkin extends ToggleSwitchSkin { public function CustomToggleSwitchSkin() { super(); selectedLabel = "ja_JP"; //選択状態のラベル文字列 unselectedLabel = "en_US"; //非選択状態のラベル文字列 setStyle("accentColor", "0xff6666");//選択状態のスキンカラー setStyle("chromeColor", "0x6666ff");//非選択状態のスキンカラー } } }

次は、作成したカスタムスキンを適用したサンプルです。ToggleSwitchを使って、前述のDateSpinnerコンポーネントのlocaleスタイルプロパティの値を切り替えるというものです。

ソースコード:ToggleSwitchSample/src/views/ToggleSwitchSampleView02.mxml

<?xml version="1.0" encoding="utf-8"?> <!--- ToggleSwitch Sample 02 --> <s:View xmlns:fx = "http://ns.adobe.com/mxml/2009" xmlns:s = "library://ns.adobe.com/flex/spark" title = "ToggleSwitch Sample 02" > … <s:ToggleSwitch id = "ts" selected = "true" skinClass = "skins.CustomToggleSwitchSkin" /> <s:DateSpinner displayMode = "date" locale = "{ts.selected?'ja_JP':'en_US'}" /> </s:View>
ToggleSwitchSampleView02.mxmlの出力結果。ToggleSwitch選択状態
図11 ToggleSwitchSampleView02.mxmlの出力結果。ToggleSwitch選択状態
ToggleSwitchSampleView02.mxmlの出力結果。ToggleSwitch非選択状態
図12 ToggleSwitchSampleView02.mxmlの出力結果。ToggleSwitch非選択状態

後編では、Callout/SplitViewNavigatorを解説します。

関連記事

  • Flex 4.6 SDKの新機能 後編 Callout/SplitViewNavigator
  • Flex 4.5 モバイル マスターシリーズ
    • Flex 4.5 モバイル マスターシリーズ 第1回 Flexモバイルプロジェクトの紹介
    • Flex 4.5 モバイル マスターシリーズ 第2回 画面遷移フレームワーク
    • Flex 4.5 モバイル マスターシリーズ 第3回 画面遷移フレームワーク データ編
    • Flex 4.5 モバイル マスターシリーズ 第4回 Flexモバイルスキンの紹介
    • Flex 4.5 モバイル マスターシリーズ 第5回 Flexモバイルアイテムレンダラーの紹介
    • Flex 4.5 モバイル マスターシリーズ 第6回 モバイル機能を使った開発におけるパフォーマンスの最適化
  • ADC MEETUP ROUND03 レポート Flash SESSION4:What's new in Flex 4.6 SDK

More Like This

  • Flex 4.5 SDK と Flash Builder 4.5を使用したモバイルアプリケーション開発
  • Flex mobile skins – Part 1: Optimized skinning basics
  • 初めてのモバイルFlexアプリケーションの作成 - Twitter Trends
  • Building a mobile employee directory sample with Flex and Flash Builder
  • Flex 4.5 SDKのご紹介
  • Flash Builder 4.5 マスターシリーズ 第3回 Flash Catalyst/Flash Professionalとの連携
  • Flex 4.5 モバイル マスターシリーズ 第4回 Flexモバイルスキンの紹介
  • Flex 4.5 SDK マスターシリーズ 第1回 コーディング環境の大幅な強化
  • Flex 4.5 モバイル マスターシリーズ 第5回 Flexモバイルアイテムレンダラーの紹介
  • Flash Builder 4.5 マスターシリーズ 第2回 Flash Builder 4.5での変更点と改善点、そして便利な機能

製品

  • Acrobat
  • Creative Cloud
  • Creative Suite
  • Digital Marketing Suite
  • Digital Publishing Suite
  • Elements
  • モバイルアプリ
  • Photoshop
  • Touch Apps

ソリューション

  • デジタルマーケティング
  • コンテンツオーサリング
  • Web Experience Management

業種別ソリューション

  • 教育
  • 金融機関

サポート

  • ヘルプ&サポート
  • 注文と返品
  • ダウンロードに関するヘルプ
  • ユーザー登録に関するヘルプ

ラーニング

  • ADC: Adobe Developer Center
  • Adobe TV
  • Design Magazine
  • Photoshop Magazine
  • Focus In

ご購入方法

  • アドビストア
  • アカデミックストア
  • アドビライセンスストア
  • ボリュームライセンスについて
  • 販売パートナー
  • キャンペーン情報

ダウンロード

  • Adobe Reader
  • Adobe Flash Player
  • Adobe AIR
  • Adobe Shockwave Player

会社情報

  • プレスルーム
  • パートナープログラム
  • 企業の社会的責任(英語)
  • 採用情報
  • 投資家の皆様へ(英語)
  • イベント&セミナー
  • Legal(英語)
  • セキュリティ
  • お問い合わせ
国・地域および言語の選択 日本(変更)
国・地域および言語の選択 閉じる

North America

Europe, Middle East and Africa

Asia Pacific

  • Canada - English
  • Canada - Français
  • Latinoamérica
  • México
  • United States

South America

  • Brasil
  • Africa - English
  • Österreich - Deutsch
  • Belgium - English
  • Belgique - Français
  • België - Nederlands
  • България
  • Hrvatska
  • Česká republika
  • Danmark
  • Eastern Europe - English
  • Eesti
  • Suomi
  • France
  • Deutschland
  • Magyarország
  • Ireland
  • Israel - English
  • ישראל - עברית
  • Italia
  • Latvija
  • Lietuva
  • Luxembourg - Deutsch
  • Luxembourg - English
  • Luxembourg - Français
  • الشرق الأوسط وشمال أفريقيا - اللغة العربية
  • Middle East and North Africa - English
  • Moyen-Orient et Afrique du Nord - Français
  • Nederland
  • Norge
  • Polska
  • Portugal
  • România
  • Россия
  • Srbija
  • Slovensko
  • Slovenija
  • España
  • Sverige
  • Schweiz - Deutsch
  • Suisse - Français
  • Svizzera - Italiano
  • Türkiye
  • Україна
  • United Kingdom
  • Australia
  • 中国
  • 中國香港特別行政區
  • Hong Kong S.A.R. of China
  • India - English
  • 日本
  • 한국
  • New Zealand
  • 台灣

Southeast Asia

  • Includes Indonesia, Malaysia, Philippines, Singapore, Thailand, and Vietnam - English

Copyright © 2012 Adobe Systems Incorporated. All rights reserved.

利用条件 | プライバシーポリシーとCookie (更新)

Reviewed by TRUSTe: site privacy statement