1

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

我首先认为这是组件高度的问题,但即使高度非常大,字符也会被截断,文本上方和下方都有很大的空白。
我在网上寻找解决方案,但没有找到。最糟糕的是:尽管这似乎很重要,但我无法找到对我的问题的引用。是否有 CSS 属性可以防止这种行为,还是我必须在别处寻找?

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

4

2 回答 2

1

组合框组件包含一个内部 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>

您将得到以下结果:

在此处输入图像描述

于 2011-08-25T18:48:03.543 回答
0

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

于 2011-08-25T13:54:44.793 回答