以编程方式绘制空 mx:grid flex
draw empty mx:grid flex programmatically
我想绘制 2*2 mx:Grid 并在这些将被动态计算的单元格中的任何一个上放置一个按钮。所以我想创建一个空的 2*2 网格,并用按钮替换任何一个单元格。
-----------------
| | |
------------------
| | btn |
------------------
我该如何做到这一点?
您需要创建网格并保留对单元格的引用(GridItem
的实例)。考虑将以下代码作为某些 class.
的一部分
private var cells:Array = [];
private function addGrid(parent:DisplayObjectContainer):void {
var grid:Grid = new Grid();
var row1:GridRow = new GridRow();
grid.addChild(row1);
var cell11:GridItem = new GridItem();
row1.addChild(cell11);
var cell12:GridItem = new GridItem();
row1.addChild(cell12);
cells.push(new Array(cell11, cell12));
var row2:GridRow = new GridRow();
grid.addChild(row2);
cell21 = new GridItem();
row2.addChild(cell21);
var cell22:GridItem = new GridItem();
row2.addChild(cell22);
cells.push(new Array(cell21, cell22));
parent.addChild(grid);
}
cells
是二维数组,可以用来访问需要改变的单元格。您可以使用 Vector
class 而不是 Array
。我使用 Array
只是因为代码更短。
我想绘制 2*2 mx:Grid 并在这些将被动态计算的单元格中的任何一个上放置一个按钮。所以我想创建一个空的 2*2 网格,并用按钮替换任何一个单元格。
-----------------
| | |
------------------
| | btn |
------------------
我该如何做到这一点?
您需要创建网格并保留对单元格的引用(GridItem
的实例)。考虑将以下代码作为某些 class.
private var cells:Array = [];
private function addGrid(parent:DisplayObjectContainer):void {
var grid:Grid = new Grid();
var row1:GridRow = new GridRow();
grid.addChild(row1);
var cell11:GridItem = new GridItem();
row1.addChild(cell11);
var cell12:GridItem = new GridItem();
row1.addChild(cell12);
cells.push(new Array(cell11, cell12));
var row2:GridRow = new GridRow();
grid.addChild(row2);
cell21 = new GridItem();
row2.addChild(cell21);
var cell22:GridItem = new GridItem();
row2.addChild(cell22);
cells.push(new Array(cell21, cell22));
parent.addChild(grid);
}
cells
是二维数组,可以用来访问需要改变的单元格。您可以使用 Vector
class 而不是 Array
。我使用 Array
只是因为代码更短。