2016-09-28 2 views
1

У меня проблема.Ориентация на Android SplitScreen

У меня есть метод, который проверяет, если экран находится в ландшафтном режиме:

private boolean isLandscape() { 
    final Resources resources = getResources(); 

    return resources != null && resources.getConfiguration() != null 
      && resources.getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE; 
} 

Он отлично работает, когда экран не расщепляется. Проблема заключается в следующем:

Он возвращает false, когда экран разделен. В этом случае resources.getConfiguration().orientation возвращает ORIENTATION_PORTRAIT. Я прочитал ссылку для Android (#1, #2), но я не нашел никакой информации.

  • Устройство: Nexus 5x
  • ОС: Android 7,0

Любые предложения?

+2

Прошли по этой ссылке? https://medium.com/google-developers/5-tips-for-preparing-for-multi-window-in-android-n-7bed803dda64#.tiw9in4e6 – Stallion

+0

@Stallion no. Существует важная фраза: > Multi-window использует систему ресурсов, настраивая конфигурацию в зависимости от размера вашего окна - размер экрана является очевидным, но наименьшая ширина (т. Е. Минимальная ширина или высота) и ориентация также обновляется при изменении размера. –

+0

@ Столкновение это помогло мне. Я понял источник проблемы. –

ответ

0

К счастью, по ссылке, предоставленной Stallion, я нашел причину:

получается: «портрет» на самом деле просто означает, что высота больше ширины и «пейзаж» означает, что ширина больше, чем высота. Поэтому, безусловно, имеет смысл с учетом этого определения, что ваше приложение может переходить от одного к другому при изменении размера.

Для получения дополнительной информации см. this link.

Смежные вопросы