2012-05-06 3 views
2

에 요소를 추가하는 방법 :(플렉스 모바일) 내 사용자 지정 레이아웃이 내 코드입니다

public class my_Layout extends LayoutBase 
{ 
    public function my_Layout(){ 
     super(); 
     var b:Button = new Button; 
     b.label="my button" 
     addChild(b) 
    } 
} 

하지만 오류를 보여, 나는 메소드하는 AddChild이 정의되어 있지

그래서 내가 원하든 할 수있는, 감사합니다.

+1

레이아웃 클래스에 요소를 추가하지 않아도됩니다. 구성 요소에 요소를 추가하거나 (사용자 정의 또는 지정하지 않음) Layout 클래스를 통해 이러한 요소를 배치하고 크기를 지정합니다. – RIAstar

+0

나는 @RIAstar가 그것을 제쳐 놓았다고 생각한다. 레이아웃은 실제로 measure() 메서드와 updateDisplayList()의 크기와 위치를 나타내는 부분의 "아웃소싱"에 불과합니다. 레이아웃에 직접 자식을 추가하지 않고 레이아웃을 사용하는 구성 요소를 추가합니다. 레이아웃 클래스 내에서 해당 구성 요소에 액세스하는 방법을 잊어 버립니다. – JeffryHouser

+1

@ www.Flextras.com 그것은'LayoutBase' 클래스의'target' 속성 (GroupBase)입니다. – RIAstar

답변

0
private function get_list():List{ 
     var list:List = target.parent.parent.parent.parent as List; 
     return list; 
    } 
    private function get_document():View{ 
     var list:List = get_list(); 
     return list.document as View; 
    } 

var list:List = get_list(); 
     var document:View = get_document(); 
     var b:Button = new Button; 
     b.label = 'wwwwwwwwwwwwwwwwwwwwww'; 
     document.addElement(b); 
관련 문제