2

私は単純な配置でflex4GUIをいじっていますが、その理由を理解できませんでした。

button1、button2、およびテキストフィールドがあります。それらを水平方向に揃え、テキストの中央に垂直方向に配置したいと思います。次のコードについては、次の出力が表示されます。

_______   ______
|bt1   | |bt2   |   text1
|______| |______|     

私の質問は; 1)btn 1 verticalCenter="10"とbtn2verticalCenter= "-10"で送信したプロパティで、それらがまだ整列しているのはなぜですか?1つがアップしていて、もう1つがドンであることがわかりませんか?2)text1をverticalCenter = 0に設定したのに、text1が上に配置されている理由を、グループ内またはグループなしで試しました。

みんなありがとう

<?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">
    <fx:Declarations>
        <!-- Place non-visual elements (e.g., services, value objects) here -->
    </fx:Declarations>
    <s:Group minWidth="100">
        <s:layout>
            <s:HorizontalLayout/>
        </s:layout>
        <s:Button label="myButton" click="" horizontalCenter="0"
            verticalCenter="10"/>
        <s:Button label="myButton" click="" verticalCenter="-10"/>
        <s:Group verticalCenter="0" horizontalCenter="0">
            <s:Label text="hello" color="#FFFF" verticalCenter="0"
                textAlign="center" />
        </s:Group>

    </s:Group>
</s:Application>
4

2 に答える 2

2

これは一般的な問題であるため、他の人がこれが発生する理由を理解することが役立つ場合があります。

HorizontalLayoutまたはを使用する場合VerticalLayout、「レイアウトオブジェクト」に設定したプロパティは使用されません。これは、これらのプロパティが実際には機能しないか、垂直/水平レイアウトでは意味がないために発生します。

垂直/水平レイアウトで無視されるレイアウトプロパティ:

  • xy座標
  • horizontalCenterverticalCenter
  • top、、、制約bottom_ left_right

上記のプロパティは、デフォルトのBasicLayoutクラスで機能します。

@Mahesh Parateの回答に示されているように、垂直/水平レイアウトでは、horizontalAlignandverticalAlignプロパティを使用してコンテンツを中央に配置できます。

于 2012-11-20T18:30:16.867 に答える
1

以下のコードが役立つ場合があります。--Horizo​​ntalLayoutにverticalAlign="middle"を追加すると、問題が解決します。

<?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">
    <fx:Declarations>
        <!-- Place non-visual elements (e.g., services, value objects) here -->
    </fx:Declarations>
    <fx:Script>
        <![CDATA[

            protected function onClickHandler(event:MouseEvent):void
            {
                // TODO Auto-generated method stub

            }

        ]]>
    </fx:Script>
    <s:Group minWidth="100" >
        <s:layout>
            <s:HorizontalLayout verticalAlign="middle"/>
        </s:layout>
        <s:Button label="myButton" click="onClickHandler(event)" horizontalCenter="0"
                  verticalCenter="10"/>
        <s:Button label="myButton" click="onClickHandler(event)" verticalCenter="-10"/>
        <s:Group verticalCenter="0" horizontalCenter="0">
            <s:Label text="hello" color="#FFFF" verticalCenter="0"
                     textAlign="center" />
        </s:Group>

    </s:Group>
</s:Application>
于 2012-11-20T18:17:06.443 に答える