Как изменить размер всего воздушного приложения как есть, игнорируя логику положения и размера компонентов - например, масштабирование - PullRequest
2 голосов
/ 05 декабря 2010

Я написал воздушное приложение, которое фиксировано в размерах: 1000 х 800 ч

Я установил для изменяемого размера и максимизируемого тега app-xml значение false, чтобы пользователь не мог изменить его размер.

Это приложение отлично смотрится и взаимодействует в этих измерениях, но не в других: в нем есть "плохие" методы кодирования, такие как жестко заданные размеры экрана и т. Д., Комбинированные направления компоновки RTL и LTR и т. Д. ...

Когда отправляется событие applicationComplete, я проверяю Capabilities.screenResolutionY и, если оно меньше 800, я хочу программно изменить размер приложения (сохраняя соотношение ширины / высоты).

Я перепробовал все StageScaleModes и попытался изменить размеры сцены, nativeWindow, самого приложения («this») и т. Д. В каждой комбинации.

Я ищу способ изменить размер всего приложения как есть , то есть я не хочу использовать логику отображения компонентов и тому подобное, просто чтобы «сжать» или «развернуть» все приложение как есть, с жестко запрограммированным количеством пикселей для соответствующего изменения в логике приложения (синхронизация всех размеров, местоположений, шрифтов и т. д.)

Приложение должно выглядеть и работать точно так же, как и при размере по умолчанию 1000x800, только меньше или больше.

Ответы [ 2 ]

3 голосов
/ 05 декабря 2010

Вы можете быть в состоянии сделать это с помощью scaleX / scaleY, но это не обязательно, так как некоторые компоненты могут использовать эти свойства неправильно. Кроме того, ваша лучшая ставка, скорее всего, переписать приложение для масштабирования.

0 голосов
/ 06 декабря 2010

хорошо переписать приложение, очевидно, лучшая ставка.тем временем я смог сделать это с помощью:

this.scaleX = this.scaleY = (какое-то отношение)
и отключив системный хром
и сохранив исходные размеры nativeWindow (100x800) без изменений

, но это работает только для сокращения (отношение <1).когда вы увеличиваете (отношение> 1), приложение «обрезается» границами nativeWindow, и вы не можете изменять эти границы без изменения логики отображения в приложении

...