2016-06-08 4 views
1

В зависимости от кожи я использую в тренажере, результат из следующего метода отличается:Как следует использовать результат метода getDeviceDensity() из Codename One?

Display.getInstance().getDeviceDensity(); 

Результаты не имеет ничего общего с реальной плотностью устройства, так как для кожи Xoom она выводит 30 (149 PPI в реальность), для Iphone 6 он выводит 50 (329 в действительности).

Я заметил, что, поскольку мне нужно перевести высоту символа, измеренную в Gimp (72 dpi), в мир устройств, чтобы он выглядел одинаково на изображении.

Любая помощь по этой теме будет оценена!

Приветствие

ответ

1

В JavaDocs для getDeviceDensity состояния:

возвращает одну из переменной плотности, подходящей для данного устройства, заметить, что плотность не всегда соответствует резолюции и реализации могут решить изменить плотность на основе ограничений DPI .

Возвращает: один из ПЛОТНОСТИ констант отображения

Константы ПЛОТНОСТЬ ссылается one of these.

Уведомление о том, что вы также можете использовать convertToPixels, который, вероятно, является гораздо лучшим API для использования. API плотности в основном используется для выбора правильного многоканального изображения и редко используется в коде пользователя.

+0

Отличный ответ, спасибо @Shai! Я дам метод convertToPixels попробовать! – HelloWorld