ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
メインメニュー
フォーラム一覧   -   トピック一覧
   Flex Builder 3
     リッチな画面遷移について
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 トピック
oiron
投稿日時: 2008-5-21 16:33
一見さん
登録日: 2008-5-21
居住地:
投稿: 3
リッチな画面遷移について
はじめまして。お世話になります。

現在、Flex3 Builderを使用して勉強中です。
画面遷移について、以下のサイトで情報を入手しました。

http://www.atmarkit.co.jp/fwcr/rensai/flexjissen01/flexjissen01_01.html

こちらでは、TabNavigatorやListなどのナビゲーションが
紹介されています。

この機能をつくって、複数のページを1つの画面で表示
できないものかと考えております。

たとえば、A、B、Cの3つのページを作成し、
DというページでListナビゲーションをはりつけ、
その中にA、B、Cと3つの項目をListに設定。
Listの項目を選べばそれに対応したページが表示される、
という形にしたいと考えてます。

今、DのページでListナビゲーションをはりつけましたが、
そこからListに項目を選んだとき、ページとリンクさせる
方法がわからないでいます。

リンクができないとなると、DのページにA、B、Cそれぞれの
ページとまったく同じ内容のものをつくらないといけない
形になります。
できればそれは避けたいです。

なにかよい方法はありますでしょうか?
goki
投稿日時: 2008-5-21 16:38
ご主人様
登録日: 2007-8-27
居住地: おかのよこはま
投稿: 735
Re: リッチな画面遷移について
当該ページの
画面5 Listによるナビゲーションの例

をいじって
--メイン--

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
    xmlns:ns1="*" layout="horizontal">

    <mx:List id="navigationList" width="100">
        <mx:dataProvider>
            <mx:String>画面A</mx:String>
            <mx:String>画面B</mx:String>
            <mx:String>画面C</mx:String>
        </mx:dataProvider>
    </mx:List>

    <mx:ViewStack
        selectedIndex="{navigationList.selectedIndex}" 
                width="100%" height="100%"
      backgroundColor="0xFFFFFF">
        <ns1:Canvas1/>
        <ns1:Canvas2/>
        <ns1:Canvas3/>
    </mx:ViewStack>
</mx:Application>

--Canvas1.mxml--

<?xml version="1.0" encoding="utf-8"?>
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" width="100%" height="100%">
    <mx:Label text="画面A" horizontalCenter="0" verticalCenter="0"/>
</mx:Canvas>

--Canvas2.mxml--

<?xml version="1.0" encoding="utf-8"?>
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" width="100%" height="100%">
    <mx:Label text="画面B" horizontalCenter="0" verticalCenter="0"/>

</mx:Canvas>
--Canvas3.mxml--

<?xml version="1.0" encoding="utf-8"?>
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" width="100%" height="100%">
    <mx:Label text="画面C" horizontalCenter="0" verticalCenter="0"/>
</mx:Canvas>

のようにするのはだめですか?

対象がアプリケーションなら
mx:SWFLoaderなどにしないとだめですが…。
oiron
投稿日時: 2008-5-21 17:54
一見さん
登録日: 2008-5-21
居住地:
投稿: 3
Re: リッチな画面遷移について
goki様

早速の返信ありがとうございます。

ご教示いただきましたとおり、おこなってみました。
こちらの指定がまずいのか、表示されない状態です。

mx:Labelを、mx:SWFLoaderに変更してみました。

<mx:SWFLoader width="441" height="532" source="A.mxml" />

↑ページ指定は「source」と考えました(推測)

リファレンスガイドでは、
「source プロパティでは、実行時に GIF、JPEG、PNG の各イメージ、および SWF ファイルのロードのみがサポートされます。」
とあるため、
これが元で表示されないと考えております。

となると、mxmlを表示するには他の方法があるのでしょうか・・・
goki
投稿日時: 2008-5-21 17:59
ご主人様
登録日: 2007-8-27
居住地: おかのよこはま
投稿: 735
Re: リッチな画面遷移について
編集が入れ違いにしまいました。
最初の返信の内容を修正していますので、ご覧ください。

単なる「画面」であればSWFLoaderを使う必要はありません。
(コンポーネントを取り込めばいいです。)

SWFLoaderを使用する場合はは
<mx:SWFLoader width="441" height="532" source="A.swf" />
になります。
oiron
投稿日時: 2008-5-21 18:26
一見さん
登録日: 2008-5-21
居住地:
投稿: 3
Re: リッチな画面遷移について
goki様
親切丁寧なお返事、ありがとうございます。

単なる画面なので、コンポーネントを取り込む形で
行おうと思います。

修正いただきました最初の返信をもとに更新をおこないましたが、
「<ns1:Canvas>をコンポーネントの実装に解決できませんでした」
とエラーが発生しております。
ページへのリンクがうまくとれていないものと思います。

メインのソースで
xmlns:ns1="*"で定義をおこない、
<ns1:Canvas1>と指定することでCanvasに対応したページに
リンクをとっているものと思いますが、
認識としては間違いないでしょうか?
goki
投稿日時: 2008-5-22 11:10
ご主人様
登録日: 2007-8-27
居住地: おかのよこはま
投稿: 735
Re: リッチな画面遷移について
認識としては間違っていません。

最初の返信の構造は

プロジェクト直下に
Main.mxml -- メインのMXMLアプリケーション
Canvas1.mxml -- Canvasを継承したMXMLコンポーネント
Canvas2.mxml -- Canvasを継承したMXMLコンポーネント
Canvas3.mxml -- Canvasを継承したMXMLコンポーネント

と配置した構成になっています。
画面の構成によってPanelなど他のコンポーネントを継承するなりして変更してください。

フォルダを掘って階層的にした場合はnsの宣言が変わってきます(ソースフォルダを指定してその直下にある場合を除きます)。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

投稿するにはまず登録を