Street magic LandScape

Интерфейс, диалоги, темы, стили, меню
Закрыто
Аватара пользователя
doter.ua
Сообщения: 1106
Зарегистрирован: 23 ноя 2013, 16:08
Откуда: Ukraine

Street magic LandScape

Сообщение doter.ua » 19 окт 2014, 12:52

В чем различие между запуском, когда девайс в альбоме (перевернули до запуска активити), и когда девайс перевернули после запуска активити?
Есть некий алгоритм (шаманство с шириной и высотой компонентов) но суть не в нем. Если запустить активити из "портретного" режима и поменять на альбомный, то получится два разных значения (Так и задумывалось). А когда запускаю активити из "альбомного" режима и меняю на другой - опять получаю два разных значения, но они отличаются от первого запуска(из портрета).
То есть: в обоих запусках активити побывает и в "портрете" и в "альбоме", отрабатывает один и тот же код, а значения разные.
сдк версия 2.3.3. Никаких танцев с android:configChanges="keyboardHidden|orientation" в Manifest не производил.
Семь раз отмерь - поставь студию.
Эклипс не студия, ошибка вылетит - не исправишь.
Скажи мне кто твой друг, и оба поставили студию.
Студия - свет, а эклипс - тьма.

Аватара пользователя
doter.ua
Сообщения: 1106
Зарегистрирован: 23 ноя 2013, 16:08
Откуда: Ukraine

Re: Street magic LandScape

Сообщение doter.ua » 19 окт 2014, 15:39

CLOSE:
Если в двух словах, то я использовал

Код: Выделить всё

        Display display = getWindowManager().getDefaultDisplay();
        DisplayMetrics outMetrics = new DisplayMetrics ();
        display.getMetrics(outMetrics);

       DEV_DENSITY  = getResources().getDisplayMetrics().density;
       DEV_HIGHT = outMetrics.heightPixels / DEV_DENSITY;
       DEV_WIDTH  = outMetrics.widthPixels / DEV_DENSITY;        
Выводом в лог в обоих режимах
Log.d("myLogs", "Main W = " + DEV_WIDTH);
Log.d("myLogs", "Main H = " + DEV_HIGHT);
получил:
Main W = 600.93896
Main H = 913.4272
Main W = 961.5023
Main H = 552.86383
т.е. значения зависят от ориентации, плюс ко всему это не абсолютные значения, а с учетом еще чего-то возможно статус баров всяких.
Тем не менее хелп утверждает:
public int heightPixels The absolute height of the display in pixels.
public int widthPixels The absolute width of the display in pixels.

Абсолютные значения высоты и ширины дисплея в пикселях.
Семь раз отмерь - поставь студию.
Эклипс не студия, ошибка вылетит - не исправишь.
Скажи мне кто твой друг, и оба поставили студию.
Студия - свет, а эклипс - тьма.

Закрыто