Блокировать возможности ландшафта в определенных фрагментах

Я разрабатываю приложение для Android, которое содержит пространство чата, и я хочу, чтобы макет чата не мог находиться в альбомной ориентации, если устройство имеет малый или обычный размер (другие макеты должны иметь два варианта: портрет и пейзаж для каждого устройства , Но мой чат не подходит к маленьким или обычным устройствам с альбомной ориентацией). Распределение моих ресурсов:

Рез

  • расположение
    • Фрагмент чата
    • Другие фрагменты …
  • значения
    • chat_dimens
      • chat_dimens
      • Chat_dimens (большой)
      • Chat_dimens (большой)
      • Chat_dimens (маленький)
      • Chat_dimens (xlarge)
      • Chat_dimens (xlarge-land)
    • Другой фрагмент …

Может кто-нибудь мне помочь? благодаря

использовать это:-

Просмотреть rootView = inflater.inflate (R.layout.activityxml, container, false);
. GetActivity () setRequestedOrientation (ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

Взгляните на этот ответ. Кажется, что можно использовать эти строки:

На портрете только фрагменты:

@Override public void setUserVisibleHint(boolean isVisibleToUser) { super.setUserVisibleHint(isVisibleToUser); if(isVisibleToUser) { Activity a = getActivity(); if(a != null) a.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); } } 

В портрете / пейзажном фрагменте:

 @Override public void setUserVisibleHint(boolean isVisibleToUser) { super.setUserVisibleHint(isVisibleToUser); if(isVisibleToUser) { Activity a = getActivity(); if(a != null) a.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_FULL_SENSOR); } }