国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > WEB開發 > 正文

3.8.使用約束條件為文本創建排版流程(Layout Flows)

2024-04-27 13:51:48
字體:
來源:轉載
供稿:網友
3.8.1 問題
你要為多段文字創建一個排版流程(layout flow)。
3.8.2 解決辦法
創建并添加一個ConstraintColumn 和ConstraintRow 對象到Canvas 組件,然后使用它們為子組件設置約束條件。
3.8.3 討論
所有支持約束條件的容器都具有兩個數組來存儲加到該Canvas 的行和列的軌跡。只需為各自數組添加現成的約束條件即可保證所有的子組件可以存取約束條件到它的屬性。本節的例子就是用約束條件來控制排版流程(layout flow)。首先,創建多個ConstraintColumn 和ConstraintRow 對象,然后將這些對象添加到Canvas 的constraintRows 和constraintColumns 屬性。使用setStyle 方法動態的將約束條件設置到現成的UIComponent對象來約束之。這個例子使用text.setStyle("left", constraintColumn.id+":10"); 從ConstraintColumn 對象的數組中動態地存取約束條件,或者使用下面這樣稍微復雜的句式以保證訪問到正確的列。如:
+展開
-ActionScript
child.setStyle("left",(constraintColumns[i-
(constraintColumns.length/2)-2] as ConstraintColumn).id+":10");


在接下來的清單里,生成ConstraintColumn 對象并且基于這些對象來設置新子組件的樣式屬性。當添加新的行時,相關的子組件會使用新的行重新設置樣式來改變自己的位置,并且所有未使用過的ConstraintColumn 對象會從容器中移除,constraintColumns 即是這些數組的縮寫。
+展開
-XML
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxmlwidth="1000"
height="800">

<mx:Script>
<![CDATA[
import mx.core.UIComponent;
import mx.controls.TextArea;
import mx.containers.utilityClasses.ConstraintColumn;
[Bindable]
public var txt:String = "Cort¨¢zar is highly regarded
as a master of short stories of a fantastic bent,
with the collections Bestiario (1951)" +
" and Final de Juego (1956) containing many of his
best examples in the genre, including the remarkable
/"Continuidad de los Parques/"" +
" and /"Axolotl./"";
private function addText(event:Event):void
{
var text:TextArea = new TextArea();
addChild(text);
text.text = txt;
var constraintColumn:ConstraintColumn =
new ConstraintColumn();
constraintColumn.id =
"column"+numChildren.toString();
constraintColumns.push(constraintColumn);
if(constraintColumns.length > 1)
{
for each(var col:ConstraintColumn in
constraintColumns){
col.width = (width / (numChildren-2));
}
}c
onstraintColumn.width = (width / (numChildren-2));
text.setStyle("top""row:30");
text.setStyle("bottom""row:30");
text.setStyle("left", constraintColumn.id+":10");
text.setStyle("right", constraintColumn.id+":10");
}
private function addRow(event:Event):void
{
var constraintRow:ConstraintRow =
new ConstraintRow();
constraintRows.push(constraintRow);
constraintRow.id = "row"+constraintRows.length;
for each(var row:ConstraintRow in constraintRows){
row.height = (height / (constraintRows.length-1));
}
var i:int = Math.round(numChildren - (numChildren-
2)/constraintRows.length);
while(i < numChildren){
var child:UIComponent = (getChildAt(i) as
UIComponent);
child.setStyle("top",
"row"+constraintRows.length+":30");
child.setStyle("bottom",
"row"+constraintRows.length+":30");
child.setStyle("left", (constraintColumns[i-
(constraintColumns.length/2)-2] as
ConstraintColumn).id+":10");
child.setStyle("right", (constraintColumns[i-
(constraintColumns.length/2)-2] as
ConstraintColumn).id+":10");
i++;
}c
onstraintColumns.length = constraintColumns.length
/ constraintRows.length;
}

]]>
</mx:Script>
<mx:constraintRows>
<mx:ConstraintRow id="rowheight="100%"/>
</mx:constraintRows>
<mx:Button click="addText(event)label="add text"/>
<mx:Button click="addRow(event)label="add rowx="150"/>
</mx:Canvas>
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 台北市| 通榆县| 宁津县| 陆川县| 叶城县| 四川省| 固阳县| 阿坝县| 昌图县| 峡江县| 黎平县| 新竹市| 古浪县| 精河县| 江孜县| 平武县| 扶沟县| 锦州市| 黑山县| 偃师市| 昆山市| 高雄县| 柳江县| 额济纳旗| 昌吉市| 桐乡市| 仪陇县| 中山市| 江川县| 安康市| 闻喜县| 阿巴嘎旗| 广灵县| 越西县| 通榆县| 扶绥县| 舒兰市| 湟中县| 阿鲁科尔沁旗| 南充市| 永宁县|