2012-04-07 8 views
0

私は、ToggleSwitchを左に、Buttonを右にしたいと思います。画面が小さすぎる場合は、ボタンを小さくして「...」を表示します。だから私は使用した:Flex MXMLレイアウトの問題

<s:Group width="100%"> 
    <s:layout> 
     <s:HorizontalLayout verticalAlign="middle"/> 
    </s:layout> 
    <s:ToggleSwitch /> 
    <s:Spacer width="100%"/> 
    <s:Button label="TestTestTestTestTest"/> 
</s:Group> 

これは、画面がボタンのラベルテキスト全体に収まらないように画面が小さくなるまでうまくいきます。両方のコンポーネントが画面の左右に浮いています。

は、だから私は基本的なレイアウトを使用して、それを試してみました:

<s:Group width="100%"> 
    <s:ToggleSwitch left="0" /> 
    <s:Button right="0" label="TestTestTestTestTest"/> 
</s:Group> 

Doens't仕事をどちらか。画面が小さすぎると、ボタンはトグルスイッチ上に浮いています。 これをどのように機能させることができますか?

答えて

3

横並びにしたい場合は、HGroupで始まり、その親のレイアウト「境界違反」から保護するために、clipAndEnableScrollingプロパティをオンにします。

<s:HGroup width="100%" clipAndEnableScrolling="true"> 
    <s:ToggleSwitch /> 
    <s:Rect width="100%" /> 
    <s:Button label="TestTestTestTestTest"/> 
</s:HGroup> 
+0

ありがとうございます!これは仕事をした。このプロパティについて知りませんでした.. – MorbZ

+0

うーん、私はどのようにボタンの表示を "..."切り捨てることができますか? – MorbZ

+0

テキストベースのコンポーネントではトランケートが処理されますが、ボタンなどの他のコンポーネントには表示されません。これがHaloに対して行われたかどうかはわかりません。それはもう少し複雑になりますが、実際にはSkinComponentでこれを行うことができます。 ButtonSkinをサブクラス化する場合は、ここから始めて、ラベル表示の総幅に対して残っている部屋の大きさを確認し、次にsubstr/substringを少なくとも3文字以上追加した単純なアルゴリズムを記述し、省略記号。 –