Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
overmind.pro
5 / 5 / 0
Регистрация: 18.01.2012
Сообщений: 19
1

Orientation в зависимости от пропорций экрана

02.09.2014, 23:13. Просмотров 1275. Ответов 7
Метки нет (Все метки)

Пишу приложение, которое должно автоматически выбирать ориентацию изображения в зависимости от пропорций экрана. В активити сделал следующее:
Java
1
2
3
4
5
6
        Display display = ((WindowManager)this.getWindowManager()).getDefaultDisplay();
        int height = display.getHeight();
        int width = display.getWidth();
        int portrait = ActivityInfo.SCREEN_ORIENTATION_PORTRAIT;
        int landscape = ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE;
        this.setRequestedOrientation(height>=width ? portrait : landscape);
На эмуляторе работает правильно, на мобиле 4.2.2 тоже, а на TV Box 4.2.2 не поворачивает как надо. А приложение как раз и пишется для вертикально висящего телевизора.
В чем может быть проблема? Или может кто посоветует другое решение данной проблемы?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.09.2014, 23:13
Ответы с готовыми решениями:

Масштабирование картинки в зависимости от разрешения экрана
как программно масштабировать картинку в зависимости от разрешение экрана?

Изменение размера картинок в зависимости от разрешения экрана
Пишу приложение на Java для Android. Столкнулся с проблемой, что при...

Как автоматически изменять размер текста в spinner в зависимости от размера экрана?
Здравствуйте. В программе использую две темы светлую и темную: <style...

Activity в Portrait/Landscape Orientation с разными фрагментами
Подскажите, как реализовать два разных фрагмента в Activity в...

управление шириной и высотой изображения в зависимости от его пропорций
Всем по привету! Такой вопрос есть вот это <img id="icon"> Нужно на...

7
kirawa
35 / 35 / 2
Регистрация: 12.11.2013
Сообщений: 345
03.09.2014, 08:46 2
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public  boolean isTablet(Context paramContext) {
        if (!isTabletModeDetermined) {
            if (paramContext.getResources().getConfiguration().smallestScreenWidthDp >= 600)
                isTabletMode = true;
            isTabletModeDetermined = true;
        }
        return isTabletMode;
}
 
 
 
 
if (isTablet(context)){
            setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
        }else {
            setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
        }
    }
0
overmind.pro
5 / 5 / 0
Регистрация: 18.01.2012
Сообщений: 19
03.09.2014, 14:59  [ТС] 3
На этом TV-box, экран не поворачивается, что ставлю:
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
что ставлю:
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
что в манифесте выставляю любую ориентацию, экран остается LANDSCAPE
Может в этом TV-box это как-то в ядре заблочено, ну типа телевизор, ему не нужен поворот экрана, и возможность поворота заблокировали?
Ребят выручайте, срочно надо, программа написана, а сдать не могу(
Может как-то можно обойти данную блокировку, или повернуть экран другими способами?

Добавлено через 4 часа 34 минуты
В общем я проверил, на TV-box, как бы я не переключал ориентацию
getResources().getConfiguration().orientation всегда остается равным Configuration.ORIENTATION_LANDSCAPE
Что делать? Как разблочить сие чудо?
0
Spelcrawler
531 / 501 / 113
Регистрация: 12.03.2014
Сообщений: 1,666
Завершенные тесты: 1
03.09.2014, 20:34 4
Нарисовать все наоборот) Под углом 90 градусов. Или прошивку колупать.
0
CoolMind
422 / 404 / 66
Регистрация: 06.10.2012
Сообщений: 1,732
03.09.2014, 22:00 5
overmind.pro, а что, у телевизора тоже есть гироскоп?
Ну или считывайте ширину и высоту экрана и ориентируйтесь по ним.
0
Netscape
374 / 361 / 52
Регистрация: 02.10.2009
Сообщений: 712
Записей в блоге: 4
03.09.2014, 23:30 6
Зачем такие костыли?
Есть же layout-land/layout-port
0
Andrew0683
0 / 0 / 0
Регистрация: 10.10.2014
Сообщений: 1
13.10.2014, 11:57 7
Здравствуйте. Столкнулся с той же задачей.
Хочется узнать получилось ли Вам ее решить?
0
overmind.pro
5 / 5 / 0
Регистрация: 18.01.2012
Сообщений: 19
13.10.2014, 12:43  [ТС] 8
Не получилось, пришлось переориентировать приложение под LANDSCAPE.
0
13.10.2014, 12:43
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.10.2014, 12:43

Переадресация в зависимости от разрешения экрана
Есть код, который проверяет разрешение экрана пользователя и в зависисмости от...

Действие в зависимости от разрешения экрана
Уже весь интернет просмотрел по этому вопросу, не подскажите почему второй...

Масштабирование в зависимости от ширины экрана
Есть фиксированный, неадаптивный макет: мой проект. (рекламных целей не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru