我有兩個類,VideoPod和RemotePod,RemotePod繼承自VideoPod。如果沒有顯示這些類的所有代碼,basicall這裏的VideoPod的一部分:爲什麼將這些對象放入MXML中打破了這個功能?
public function showPanel():void {
if (!pnl.visible) {
pnl.visible = true;
pnl.addElement(removeElement(vg));
}
}
.
.
.
<s:Panel id="pnl" width="100%" height="100%" fontWeight="normal" visible="false" />
<s:VGroup id="vg" left="0" resize="onResize()" right="0" top="0" bottom="0">
和這裏的RemotePod的一部分:
private function onCreationComplete():void {
m_tmrHeartbeat.addEventListener(TimerEvent.TIMER, checkPulse);
var arrBtns:Array = new Array(4);
for (var i:int = 0; i < arrBtns.length; i++) {
arrBtns[i] = new Button();
arrBtns[i].width = 28;
arrBtns[i].height = 25;
arrBtns[i].top = 10;//-28;
}
arrBtns[0].right = 10;
arrBtns[0].setStyle("icon", Images.PATH + "view-fullscreen-3.png");
arrBtns[0].addEventListener(MouseEvent.CLICK, maximize);
.
.
.
for each (var btn:Button in arrBtns) {
addElement(btn);
}
m_lblSize.right = 154;
m_lblSize.top = 18;//-20;
m_lblSize.text = FULLSCREEN;
addElement(m_lblSize);
其中onCreationComplete()被調用爲RemotePod creationComplete事件。幾分鐘前,我嘗試將RemotePod中的按鈕和標籤移動到實際的MXML中,但這打破了showPanel()函數。它提出的錯誤基本上有以下信息:「在本組中找不到vg」。 (VideoPod繼承自s:Group。)
我不明白。我也開始測試vg在運行時的寬度,它顯然只是停留在0.什麼是造成這種情況的晦澀語言功能?謝謝!
我不認爲RemotePod可以*有* MXML,除非您已經將VideoPod作爲模板組件編寫。因此,查看兩者的代碼以查看這是否甚至可以正常工作非常重要。另外,你不應該在creationComplet中添加子元素,而是在createChildren覆蓋中。 –