Flex 3 UITextField布局问题

时间:2010-10-13 16:57:21

标签: flex layout uitextfield

我正在使用Flex 3,SDK 3.2。

我在确定UITextField的高度时遇到了问题。 (不幸的是,我必须使用UITextField,因为我使用的是FlashEff 2.0。否则,我会使用不同的组件。)

我有一个多线的UITextfield并且有wordWrap。文本是从数据库中提取的,因此长度会有所不同。我在UITextField下面有一个radioButtonGroup。

我的目标是:

  1. 保持UITextField 撞到了radioButtonGroup的 垂直框。

  2. 更改y radioButtonGroup的位置 根据的高度 的UITextField。

  3. 制作TitleWindow的     高度变量。该     UITextField和radioButtonGroup     在TitleWindow中。我想     改变TitleWindow的高度     根据里面的内容。

  4. 目前,我已经在TitleWindow上设置了radioButtonGroup的y,以便UITextField的内容不会重叠。但是,当UITextField中没有太多文本时,我在radioButtonGroup的VBox和它之间会有很大的差距。

    如果我不给TitleWindow一个高度,那么UITextField将自己扩展到类似2000 px。

    我用谷歌搜索,据我所知,UITextField的高度表现得很奇怪。

    有谁知道如何解决这个问题?

    我像这样创建UITextField:

    public var tf:UITextField = new UITextField;

    tf.autoSize = TextFieldAutoSize.LEFT;

    tf.embedFonts = true;

    tf.multiline = true;

    tf.text = myText;

    tf.width = 440;

    tf.wordWrap = true;

    var myFormat:TextFormat = new TextFormat;

    myFormat.size = 25;

    myFormat.blockIndent = 53;

    this.addChild(TF);

    tf.validateNow();

    tf.setTextFormat(myFormat);

    我的VBox看起来像这样:

    <mx:VBox  id="radioVBox" x="180" y="220">
    
         <mx:RadioButtonGroup id="myRadioButtonGroup" itemClick="goClickHandler(event);"/>
    
         <mx:RadioButton  groupName="myRadioButtonGroup" label="A"  fontSize="17" />
    
         <mx:RadioButton  groupName="myRadioButtonGroup" label="B"  fontSize="17" />
    
         <mx:RadioButton  groupName="myRadioButtonGroup" label="C"  fontSize="17" />
    
         <mx:RadioButton  groupName="myRadioButtonGroup" label="D"  fontSize="17" />
    
         <mx:RadioButton  groupName="myRadioButtonGroup" label="E"  fontSize="17" />
    

    它全部包含在TitleWindow中,如下所示:

    <mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml" 
    
         layout="absolute" 
    
         width="520"  
    
         height="450"
    
         verticalScrollPolicy="off" 
    
         horizontalScrollPolicy="off" 
         >
    

    有什么建议吗?

    谢谢。

    -Laxmidi

1 个答案:

答案 0 :(得分:0)

rtalton帮助了我。

我发现radioVBox正在向上移动并与MainBox重叠,因为UITextField是动态的并且对它有FlashEff2效果。基本上,当计算radioVBox的布局时,MainBox的高度为0。

因此,我将UITextField添加到一个VBox中。下面我有radioVBox。我将radioVBox的可见性设置为false。然后我在FlashEff2效果结束时添加了一个eventListener,它调用了一个打开radioVBox可见性的函数。另外,在我设置的函数中:radioVBox.y =(tf.y + tf.height + 40);.最后,我将TitleWindow的高度设置如下:height =“{radioVBox.y + 270}”

谢谢。

-Laxmidi