#flash #apache-flex
#вспышка #apache-гибкий
Вопрос:
У меня возникла проблема при работе с setStyle() в свойстве modalTransprancyColor. Модуль не запускался с различными вариантами шестнадцатеричного кода, только один, который, кажется, работает, — 0xDDDDDD. В любом другом случае эта строка кода приведет к аварийному завершению работы Flash.
Application.application.setStyle('modalTransparencyColor', '0xDDDDDD');
PopUpManager.removePopUp(this);
Пробовал: ‘черный’, ‘0xff0000’, ‘0xFF0000’, ‘0x0116FC’
Я использую Flex 3.6v16995 с Flash Builder 4
Комментарии:
1. Я думаю, что это не проблема из setStyle, и 0xDDDDDD — это цвет по умолчанию. куда вы добавляете приведенный выше код? можете ли вы предоставить более подробную информацию о вашей заявке?
2. Во-первых, зачем ты это делаешь
Application.application
? Это ужасная практика. Почему вы не используете CSS в основном приложении mxml?3. Я новичок в работе с flex, и это код от другого разработчика, я работаю над исправлением ошибок. Код находится в файле as, который управляет всплывающим окном, генерирующим поток данных опроса. Этот конкретный код является единственной реализацией в функции surveyPopupClose() @JAX Не могли бы вы объяснить, почему это плохая практика?
Ответ №1:
Из моих тестов следует, что настройка modal-transparency-color
CSS в приложении не переходит каскадом во всплывающее окно, и только стиль в самом классе pop up определяет, что используется.
Попробуйте установить стиль из класса, который отображается в виде модального окна.
Пример:
<!-- componenets/MyPopUp.mxml -->
<s:TitleWindow ... styleName="myColor">
<fx:Style>
.myColor {
modal-transparency-color: '0xff0000';
}
</fx:Style>
...
</s:TitleWindow>
Затем при создании:
PopUpManager.createPopUp(this,MyPopUp, true); // modal overlay is red