2017-01-17 4 views
1

У меня есть приложение, которое имеет 1 основное действие и 8 фрагментов. В файле манифеста задайте ориентацию так:Использование деликатной ориентации в Android Фрагменты

android:screenOrientation="landscape" 

Для 6 из 8 фрагментов эта ориентация в порядке. Однако мне нужно изменить ориентацию всего на 2 фрагмента. Я искал и нашел пару постов с тем же aswer как: How to set different orientation of fragment in activity? Однако, когда я иду к фрагменту и использовать этот код:

public View onCreateView(LayoutInflater inflater, ViewGroup container, 
          Bundle savedInstanceState) { 
     getActivity().setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); 

     // Inflate the layout for this fragment 
     return inflater.inflate(R.layout.fragment_name, container, false); 
    } 

приложение восходит к первому экрану с набором портретной ориентации, как это имеет перезапустив приложение с другой настройкой ориентации. Каждый экран открывается после этого в портретной ориентации, пока я не закрою приложение и не перезапустил его.

ответ

0

Вам необходимо удалить андроид: screenOrientation = "landscape" из файла манифеста. После этого установите для каждого фрагмента режим SCREEN_ORIENTATION_LANDSCAPE или SCREEN_ORIENTATION_PORTRAIT.

+0

Сделано эти изменения, все ландшафтные фрагменты загружаются штрафом. Однако 2 фрагмента портрета по-прежнему возвращаются к первому экрану, но теперь он загружается в портретном режиме. –

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