【问题标题】:How to dynamically create layout for s:group in flex如何在 flex 中为 s:group 动态创建布局
【发布时间】:2013-12-11 03:10:25
【问题描述】:

我有一个表单,里面有一个按钮 Onclick,我正在向表单动态添加组件。我已成功将组件添加到表单中。我已经添加了一个小组来俱乐部他们并给予对齐。如何向 s:Group 添加水平布局。

protected function ADD_CVE_ID_clickHandler(event:MouseEvent):void
            {
var textinput:TextInput = new TextInput;  
var dropdown:DropDownList = new DropDownList;
var textArea:TextArea = new TextArea;
var Grouptest:Group = new Group;
Grouptest.addElement(textinput);
Grouptest.addElement(dropdown);
Grouptest.addElement(textArea);
AddHere.addElement(Grouptest);
}

【问题讨论】:

  • 我能够通过将 s:Group 更改为 HGroup 来实现所需的结果。只是想知道我是否能够将布局添加到 s:Group。
  • 是的,您可以使用layout 属性。也就是说,您的逻辑将更容易使用 MXML 和状态来实现。无需“动态”添加组件。
  • 我实际上想重复添加上述组件,这可能与状态有关吗?
  • 如果您想重复使用相同的模式,请使用带有自定义 ItemRenderer 的 List 或 DataGroup。然后,此 ItemRenderer 包含重复的模式和显示/隐藏某些元素的状态。如果您愿意,您甚至可以对每个 ItemRenderer 应用不同的状态。

标签: apache-flex flex4 flex-spark


【解决方案1】:

根据您的要求使用以下代码:-

        protected function ADD_CVE_ID_clickHandler(event:MouseEvent):void
        {
            var textinput:TextInput = new TextInput();  
            var dropdown:DropDownList = new DropDownList();
            var textArea:TextArea = new TextArea();
            var Grouptest:Group = new Group();
            var horizontalLayout:HorizontalLayout = new HorizontalLayout();
            Grouptest.layout = horizontalLayout;
            Grouptest.addElement(textinput);
            Grouptest.addElement(dropdown);
            Grouptest.addElement(textArea);
            AddHere.addElement(Grouptest);
        }

【讨论】:

    猜你喜欢
    • 2021-03-24
    • 2020-01-21
    • 1970-01-01
    • 2013-08-03
    • 2019-09-06
    • 2018-06-12
    • 1970-01-01
    • 1970-01-01
    • 2020-07-19
    相关资源
    最近更新 更多