Я хотел бы создать приложение с полностью изменяемым размером, используя Flex 4.5. Я уже экспериментировал, но мой подход, кажется, трудно поддерживать, поэтому он мне не нравится. Вот мой подход:
- Что касается HTML, у меня на самом деле есть первая страница, которая определяет разрешение монитора пользователя, а затем перенаправляет на HTML-код флэш-контейнера (JSP), который считывает параметры ширины и высоты и отображает флэш до переданного размера.
- В моем приложении я использовал 1280x720 в качестве эталонного размера, поэтому я создал служебный класс:
пакет утилит {импорт mx.collections.ArrayCollection; import mx.core.FlexGlobals; import mx.resources.ResourceManager; import mx.utils.ObjectProxy;
/**
*
* @author user
*
*/
public final class LayoutUtils
{
/**
*
*
*/
public function LayoutUtils()
{
throw new Error("Boooohhhhhhhhhh");
}
public static function relativeToHeight(percentageValue:Number):Number
{
return percentageValue * FlexGlobals.topLevelApplication.height / 100;
}
public static function relativeToWidth(percentageValue:Number):Number
{
return percentageValue * FlexGlobals.topLevelApplication.width / 100;
}
}
}
Я передаю процентное значение относительно высоты или ширины и возвращаюсь именно к нему. Поэтому я фактически привязываю высоту / ширину компонентов, например, к {LayoutUtils.relativeToWidth(50)}
, который вернет 640, если ширина моего приложения будет 1280. Но это означает установку ширины и / или высоты почти для каждого компонента, и это включает также отступы и позиции привязки, что делает его беспорядок.
Есть ли у вас другие предложения? Я хочу, чтобы все было правильно изменено (включая шрифты). Все доступные размеры, которые я собираюсь иметь в наличии, будут иметь такое же соотношение сторон, которое будет, например, 16: 9, потому что я не вижу другого способа сделать это.
Какие-либо предложения?