Intereting Posts
Список устройств adb в сети Android поддерживает все планшеты – классифицирует чертежи и макеты Gradle не может найти classpath для плагина android E / SQLiteLog: (10) Не удалось выполнить чтение файла, получено: 0, amt: 100, последний Errno: 2 Как загрузить изображение из галереи в android Фрагменты остаются после того, как активность Get убита и воссоздана Как нарисовать маршрут, используя разные длинные значения lat? Почему Marquee не работает в виджетах? Android: не удается подключиться к службе камеры в Camera.open (); Рисование на холсте вне метода onDraw () Что позволяет Google Maps / Youtube отображать меню «Завершить это действие с помощью»? Android | Получить версию библиотеки OkHTTP во время выполнения Как я могу выровнять изображение внутри ImageView в нижней части ImageView? Создание приложения для Android, которое создаст удаленный доступ между телефоном и ПК и сможет обмениваться файлами Цвет подсказки TextInputLayout

Где проверить изменение ориентации в андроидном фрагменте

В моем приложении у меня есть FragmentActivity с несколькими Fragment в портретном режиме, за исключением одного конкретного Fragment . Я перемещаюсь между Fragment s через нижний колонтитул View s в FragmentActivity .

У меня есть другой макет (на самом деле есть одно и то же имя, но с другим виджетом View s) для этого конкретного Fragment при изменении ориентации. Когда в ландшафтном режиме я хочу удалить определенные виджеты из представления макета Fragment и нижнего колонтитула View of FragmentActivity а когда вернусь на портрете, добавьте все обратно.

Я сохранил все данные, которые мне нужны в onSavedInstanceState() в Fragment , но где лучше всего я должен проверить изменение ориентации, чтобы я мог правильно восстановить View ?

Не уверен, что могу переопределить onConfigurationChange() и протестировать там в своем Fragment потому что у меня нет андроида: configChanges = "orientation" в моем Manifest Android.

Сохраните эту проверку в onCreate (). При повороте устройства приложение перезапускается. Поэтому onCreate вызывается снова, когда приложение перезапускается.

 int currentOrientation = getResources().getConfiguration().orientation; if (currentOrientation == Configuration.ORIENTATION_LANDSCAPE) { // Landscape } else { // Portrait } 

Вы можете контролировать изменение ориентации, переопределяя также onConfigurationChanged вашего фрагмента.

  @Override public void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig); int currentOrientation = getResources().getConfiguration().orientation; if (currentOrientation == Configuration.ORIENTATION_LANDSCAPE){ Log.v("TAG","Landscape !!!"); } else { Log.v("TAG","Portrait !!!"); } }