Я хотел бы создать полностью изменяемое приложение, используя Flex 4.5. Я уже экспериментировал, но мой подход, кажется, трудно поддерживать, поэтому он не выглядит хорошо для меня. Вот мой подход:
- Что касается HTML, у меня фактически есть первая страница, которая определяет разрешение монитора пользователя, а затем перенаправляет в HTML-контейнер флэш-памяти (JSP), который считывает параметры ширины и высоты и переводит флэш-память в переданный размер
- В моем приложении я использовал 1280x720 в качестве эталонного размера, поэтому я создал служебный класс:
пакет утилит
{
import 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, потому что я не вижу другого способа сделать это.
Есть предложения?