2013-09-20 3 views
0

Я читал, что разрешение экрана на дюйм выше 320 не поддерживается в Flex, но в соответствии с this article должно быть возможно создать пользовательскую реализацию. Таким образом, для целей тестирования я добавил эти две строки с Apache Flex 4.10Flex mobile dpi scale

applicationDPI="320" 
runtimeDPIProvider="DPITestClass" 

и создал DPITestClass, содержащую этот

override public function get runtimeDPI() : Number 
{ 
    return 3200; 
} 

Насколько я понял, это должно масштабировать все параметры пикселя на 10 на каждом но вместо этого он абсолютно ничего не делает. Он по-прежнему масштабирует пиксели в зависимости от dpi устройства - точно так же, как runtimeDPIProvider не установлен (за исключением случаев, когда я регистрирую runtimeDPI в моем основном классе, это говорит «3200»).

Это потому, что более высокие dpi по-прежнему не поддерживаются вообще, и это расширение блокируется где-то внутри рамки flex или я сделал что-то неправильно?

+1

Flex 4.10 фактически поддерживает 480 DPI. Я знаю, что Android поддерживает до примерно 650DPI (не помню точного числа), но 480 DPI на самом деле самый высокий, какой-либо основной продукт достигает на данный момент (есть несколько телефонов в диапазоне 440-460). Я знаю, что это не отвечает на ваш вопрос, но, безусловно, стоит отметить –

+1

Apache Flex 4.11 (еще не выпущен, но он в ночной сборке Apache Flex) также добавил поддержку 120 dpi и 640 точек на дюйм. –

ответ

1

Вы можете переопределить метод runtimeDPI, чтобы вернуть его в константы DPIClassification, который представляет диапазон dpis (например, DPI_160, DPI_240 или DPI_360). Он обычно используется для исправления устройств, которые сообщают о неправильном времени выполнения.

Flex поддерживает более 320 dpi. Он просто помещает приложение в поле 320 dpi при использовании Apache Flex 4.9 и ниже. Apache Flex 4.10 добавила поддержку ящика 480 точек на дюйм, а Apache Flex 4.11 добавит поддержку как для 120, так и для 640 точек на дюйм. Каждый тэг-твитер оптимизирован для диапазона dpi, но приложение не перестает работать, если оно имеет разные или более высокие значения dpi.