0

を作ろうとしていwebsites in flexます。Web サイトのページが中央に配置されていないという問題に直面しています。検索しましgoogleたが、まだ成功していません。

<s:Application>左手から始めるのではなく、Web ブラウザーを中心にしようとしています。どうすればよいですか?

4

1 に答える 1

0

私の理解によると: -

1) swf を HTML に埋め込もうとしています。swf を HTML の中心に配置したい場合は、swf を HTML 側の 1 つのコンテナーに埋め込む必要があります。x、y、高さ、幅を指定して、コンテナの位置を中央に配置します。

HTML を使用している場合は、以下の方法で行うことができます。 AreaChart.swf を自分の swf 名に置き換えることができます。

これで問題を解決できると思います。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
    <head>
        <title>Tittle Here</title>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

        <style type="text/css" media="screen">
            html, body { height: 100%; margin:0; padding:0; text-align: center; }
            div#centered { border:0; height: 50%; width: 50%; position: absolute; left: 25%; top: 25%; color: black; }
        </style>        
        <script type="text/javascript" src="swfobject.js"></script>
        <script type="text/javascript">
        swfobject.registerObject("myId", "8.0.0", "expressInstall.swf");
        </script>
    </head>
    <body>
        <div id="centered">    
            <object id="myId" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="400" height="300">
            <param name="movie" value="AreaChart.swf" />
            <param name="scaleMode" value="showAll" />
            <param name-"quality" value="best" />
                <!--[if !IE]>-->
                <object type="application/x-shockwave-flash" data="AreaChart.swf" width="400" height="300">
                <!--<![endif]-->
                <div id="altContent">
                    <h1>You need to upgrade your Flash player.</h1>
                    <p>
                    <a href="http://www.adobe.com/go/getflashplayer">
                    <img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" />
                    </a>
                    </p>
                </div>
                <!--[if !IE]>-->
                </object>
                <!--<![endif]-->
            </object>
        </div>
    </body>
</html>

そうしないと

2) Flex アプリケーション内で Flex コンテンツを中央に配置しようとしている場合は、コンテナを 1 つ作成する必要があり、その中にビジュアル コンポーネントなどを含むすべてのロジックを移植する必要があります。

元: -

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
               xmlns:s="library://ns.adobe.com/flex/spark" 
               xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600" xmlns:local="*"
               width="800" height="600" >
    <fx:Script>
        <![CDATA[
            import mx.core.FlexGlobals;

            private function creationComp():void
            {
                mainContainer.x = FlexGlobals.topLevelApplication.width/2 - mainContainer.width/2;
                mainContainer.y = FlexGlobals.topLevelApplication.height/2 - mainContainer.height/2;
            }
        ]]>
    </fx:Script>
    <fx:Declarations>
        <!-- Place non-visual elements (e.g., services, value objects) here -->
    </fx:Declarations>

    <local:MainContainer id="mainContainer" width="50%" height="50%" creationComplete="creationComp()"/>

</s:Application>

MainContainer.mxml には、すべてのビジュアル コンポーネント/要素が含まれます。

これはあなたを助けるかもしれません。

これにはもっと良い解決策があるかもしれません。

于 2012-06-27T12:42:21.753 に答える