constraintsには以下のものがあります。
- right
- left
- top
- bottom
- baseline
- horizontalCenter
- verticalCenter
constraintsは親コンテイナーに対する位置とサイズを制御します。
位置について
- rightは親コンテイナーの右端からコンポーネント右端までの距離(ピクセル)です。(leftは左端から)
- topは親コンテイナーの上端からコンポーネントの上端までの距離(ピクセル)です。(bottomは下端から)
- baselineは親コンテイナーの上端からコンポーネントのラベル位置の下端までの距離です。
- horizontalCenterは親コンテイナーの中心点からコンポーネントの中心点のx座標の距離です。(verticalCenterはy座標の距離)
※right or leftとhorizontalCenterが同時にセットされた場合はhorizontalCenterが優先されます。(top, bottom, baselineとverticalCenterも同様)
※baselineとtopとの違いは、違う種類のコンポーネント(ボタンとラベルなど)を配置した際に、topを同じ値にしてもそれぞれのコンポーネントの上端で揃うために、綺麗にそろいません。しかし、baselineを同じ値にセットすると、綺麗に揃います。(下の結果の画像を参照)
サイズについて
- rightのみがセットされた場合はデフォルトの幅になります。(widthが明示してある場合はその値になる)(leftも同様)
- topのみがセットしてある場合はデフォルトの高さになります。(heightが明示してある場合はその値になる)(bottom, baselineも同様)
- rightとleftが両方ともセットしてある場合は、コンポーネントの幅はその値に合わせて変化します。(topとbottomも同様)
※rightとleftがセットしてあり、かつwidthもセットしてある場合は、right-leftの値が優先され、widthは無視されます。(top-bottomとheightも同様)
下はright, left, top, bottom, baselineの値を50にセットしたサンプルです。
■結果(画像)
■ソースコード
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | <?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"> <s:BorderContainer width="300" height="300"> <s:Button label="left" left="50"/> <s:Button label="right" right="50"/> <s:Button label="bottom" bottom="50"/> <s:Button label="top" top="50" /> <s:Label text="top" top="50" x="70"/> <s:Button label="baseline" baseline="50" x="100"/> <s:Label text="baseline" baseline="50" x="170"/> </s:BorderContainer> </s:Application> |
0 件のコメント:
コメントを投稿