如何防止在Flex组合框中截断文本的底部?

时间:2011-08-25 12:57:13

标签: css flex combobox halo

我目前正在修改flex GUI以使其焕然一新。我是初学者,但我设法完成大部分工作。但是我遇到组合框的问题:我使用了相当大的字体大小,并且某些字符的底部被截断(例如“g”,或者基线下的任何字符):
truncated g

我首先认为这是组件高度的问题,但即使是非常大的高度,字符也会被截断,文本上方和下方都有大空格。
我在网上寻找解决方案,但没找到。最糟糕的是:虽然看起来很重要,但我找不到对我的问题的引用。是否有CSS属性来防止这种行为,或者我是否必须寻找其他地方?

编辑:我使用Flex 3和Halo / MX组件

2 个答案:

答案 0 :(得分:0)

我认为这不是Comobox本身,而是它的内部标签。您可以尝试设置paddingBottom,以查看标签是否会继承该标签,但您可以更好地创建自己的标签子类并将其用作textFieldClass。

答案 1 :(得分:0)

组合框组件包含一个内部TextInput。您必须扩展ComboBox类并将textinput的高度修改为您需要的值。

例如,假设您将字体大小设置为20并使用此扩展类:

public class MyCb extends ComboBox
    {
        public function MyCb()
        {
            addEventListener(FlexEvent.CREATION_COMPLETE, onCreationComplete);          
        }

        private function onCreationComplete(e:Event):void {
            this.textInput.height = 40;
        }
    }

主要应用:

<mx:VBox width="100%" height="100%">    
    <mx:ComboBox fontSize="20" >
        <mx:dataProvider>
            <mx:Object label="goubigoulba"/>
            <mx:Object label="goubigoulba"/>
        </mx:dataProvider>
    </mx:ComboBox>

    <local:MyCb fontSize="20"   >
        <local:dataProvider>
            <mx:Object label="goubigoulba"/>
            <mx:Object label="goubigoulba"/>        
        </local:dataProvider>       
    </local:MyCb>   
</mx:VBox>

您将获得以下结果:

enter image description here