Как сделать так, чтобы ярлык Combobox исчезал во Flex

У меня есть поле со списком, которое находится внутри панели во Flex 3. В основном я хочу уменьшить яркость панели, используя эффект Fade в ActionScript. Я могу заставить затухание работать нормально, однако метка поля со списком не исчезает. У меня была такая же проблема с кнопками, и я обнаружил, что их шрифты необходимо встроить. Без проблем. Я встроил шрифт, который использовал, и надписи на кнопках выгорели правильно. Я пробовал аналогичный подход к комбинированному окну, но он не стирает метку выбранного элемента.

Вот что я сделал до сих пор: Вставьте код для шрифта в верхнюю часть моего MXML в скрипт:

[Embed("assets/trebuc.ttf", fontName = "TrebuchetMS")]
public var trebuchetMSFont:Class;

В моей функции инициализации

//register the font.
Font.registerFont(trebuchetMSFont);

Mxml выпадающего списка:

<mx:ComboBox id = "FilterFields" styleName = "FilterDropdown" 
  left = "10" right = "10" top = "10"
  fontSize = "14">
  <mx:itemRenderer>
    <mx:Component>
      <mx:Label fontSize = "10" />
    </mx:Component>
  </mx:itemRenderer>
</mx:ComboBox>

И стиль, который я написал, чтобы применить шрифты к комбинированному списку:

.FilterDropdown
{
  embedFonts: true;
  fontFamily: TrebuchetMS;
  fontWeight: normal;
  fontSize: 12; 
}

Причина, по которой мне пришлось написать стиль вместо того, чтобы помещать его в атрибут «FontFamily», заключалась в том, что стиль сделал весь текст в поле со списком правильным шрифтом, тогда как атрибут «FontFamily» использовал только элементы в раскрывающемся списке. правильный шрифт. Взаимодействие с другими людьми

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
0
4 503
5

Ответы 5

Хм, я не уверен, почему это не работает для вас. Вот пример того, как я заставил это работать:

<?xml version = "1.0" encoding = "utf-8"?>
<mx:Application xmlns:mx = "http://www.adobe.com/2006/mxml" layout = "absolute" creationComplete = "fx.play([panel])">
    <mx:Style>
        @font-face {
            src: local("Arial");
            fontFamily: ArialEm;
        }

        @font-face {
            src: local("Arial");
            fontFamily: ArialEm;
            fontWeight: bold;
        }

        @font-face {
            src: local("Arial");
            fontFamily: ArialEm;
            font-style: italic;
        }
    </mx:Style>
    <mx:XML id = "items" xmlns = "">
        <items>
            <item label = "Item 1" />
            <item label = "Item 2" />
            <item label = "Item 3" />
        </items>
    </mx:XML>
    <mx:Panel id = "panel" x = "10" y = "10" width = "250" height = "200" layout = "absolute">
        <mx:ComboBox fontFamily = "ArialEm" x = "35" y = "10" dataProvider = "{items.item}" labelField = "@label"></mx:ComboBox>
    </mx:Panel>
    <mx:Fade id = "fx" alphaFrom = "0" alphaTo = "1" duration = "5000" />
</mx:Application>

Надеюсь, что это помогает вам.

Часто можно использовать вместо , он выглядит почти идентично и не требует встроенных шрифтов.

Спасибо за вашу помощь. Была точно такая же проблема. Уловка заключается во встраивании «жирной» версии шрифта, который вы используете. Даже если шрифт в вашем ComboBox не установлен на полужирный ...

Растворение работает путем постепенного появления и исчезновения сплошного цветного прямоугольника вместо постепенного исчезновения фактического компонента. Это отлично работает, особенно когда вы хотите контролировать цвет, до которого компонент должен исчезнуть. Однако иногда вам нужна прозрачность, и поэтому необходимо использовать Fade. Есть небольшой трюк, чтобы заставить Fade аккуратно работать как со шрифтами устройства, так и со встроенными шрифтами: используйте фильтр размытия без размытия.

По сути, когда вы устанавливаете растровый фильтр, проигрыватель внутренне создает растровую копию вашего объекта, к которой затем применяет фильтр. Если для размытия установлено значение «не размытие», так сказать, оно все равно будет хорошо выглядеть и прекрасно исчезнет. Это нарушает функцию масштабирования проигрывателя, поскольку текст теперь растеризован.

<mx:Label id = "percentage" text = "{progress} %" truncateToFit = "false">
    <mx:filters>
        <mx:BlurFilter blurX = "0" blurY = "0" />
    </mx:filters>
</mx:Label>

Кстати, кто-нибудь в мире действительно считает функцию масштабирования флеш-плеера функцией? Серьезно.

Marcus Stade 17.11.2009 04:34

var htm = $('#comboboxId').find('option:selected').html();

Другие вопросы по теме