Flex學習記錄(在容器中動態新增和移除子元件)

2021-08-30 12:44:35 字數 1182 閱讀 2869

使用addchild 或者addchildat 方法來新增子元件,同理,使用removechildat 或者

removeallchildren 方法來移除子元件。

flex 方法使得新增和移除子元件操作變得容易,但是uicomponent 控制項和容器則遵從稍顯

不同的兩組規則。

addchild 方法將任何繼承自uicomponent 的子元件新增到呼叫這個方法的控制項中。例如:

var component:uicomponent = new uicomponent();

addchild(component);

addchildat 方法的不同在於,它在子元件被新增到容器的時候需要傳入乙個該子元件在目

標容器內的索引。在容器沒有布局管理器的情況下,比如canvas 物件,這意味著被新增的

子元件會在指定的z 索引深度上顯示。而對於擁有布局管理器的容器來說,例如hbox 和vbox

元件,被新增的子元件則會出現在提供的索引上。例如:

var component:uicomponent = new uicomponent();

addchildat(component, 3);

要移除任意子元件,呼叫removechildat,即會移除指定索引上的子元件。

removechildat(2);

容器和uicomponent 控制項也有removechild 方法,該方法要求傳入乙個需要移除的子元件的

引用。flex 提供了不同的方法來訪問被新增到容器中的子元件。在獲悉如何訪問子元件之後,你

可以使用訪問子元件得到的引用來移除它們。例如,任何新增到mxml 容器的子元件都可以

通過它們的id 屬性來訪問。任何容器的所有子元件都可以使用getchildat 來訪問它們,如

下:getchildat(index:int);

如果賦以了name 屬性,也可以通過name 屬性來訪問它們。要確定任何元件所包含的子元件

個數,使用numchildren 屬性:

var i:int = 0;

while(i移除子元件的時候,可以使用子元件的index 或者id 作為引用,像後面這樣的句式,

removechild(getchildat(2));或者removechild(this.childid);

最後,removeallchildren 方法則可以移除新增到某一元件內的所有子元件。

QT學習記錄 在表盤中畫線

1表盤一般有現成的,直接貼到qlabel就好了 2將qlabel控制項提公升為乙個繼承qlabel類的自定義類 重寫該類的paintevent函式,一圈也就360 不會多也不會少,分成360份,就知道每個數值該對應著旋轉多少了 記錄一些關鍵步驟 void mylabel paintevent qpa...

動態新增元件到flex的可折疊容器中

以上是效果圖 如下 layout vertical verticalalign middle backgroundcolor white cdata import mx.containers.vbox private const max children uint 5 private functio...

Android 在布局容器中動態新增控制項

這裡,通過乙個小demo,就可以掌握在布局容器中動態新增控制項,以動態新增button控制項為例,新增其他控制項同樣道理。1 addview 新增控制項到布局容器 2 removeview 在布局容器中刪掉已有的控制項 3 使用,來個小demo就明白了 publicclassmainactivity...