Как предотвратить усечение нижней части текста в комбинированных списках Flex? - PullRequest
1 голос
/ 25 августа 2011

В настоящее время я изменяю гибкий графический интерфейс, чтобы придать ему новый вид.Я новичок в гибкости, но мне удается выполнить большую часть работы.Однако у меня есть проблема с выпадающими списками: я использую довольно большой размер шрифта, а нижняя часть некоторых символов усекается (например, "g" или любой символ, идущий ниже базовой линии):
truncated g

Сначала я подумал, что это проблема с высотой компонента, но даже при очень большой высоте символы были усечены, с большими пустыми пробелами над и под текстом.
Я искал решение в сети, но не нашелодин.Хуже всего: мне не удалось найти ссылки на мою проблему, хотя она кажется важной.Есть ли свойство CSS для предотвращения этого поведения, или мне нужно искать в другом месте?

edit: я использую компоненты Flex 3 и Halo / MX

Ответы [ 2 ]

0 голосов
/ 25 августа 2011

Компонент со списком содержит внутренний TextInput. Вы должны расширить класс ComboBox и изменить высоту текстового ввода так, как вам нужно.

Например, допустим, вы указали размер шрифта 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

0 голосов
/ 25 августа 2011

Я считаю, что это не сам Comobox, а его внутренний ярлык. Вы можете попробовать установить paddingBottom, чтобы увидеть, будет ли метка наследовать это, но вам может повезти, создав собственный подкласс label и используя его в качестве textFieldClass.

...