Есть ли способ использовать один фрагмент в альбомной ориентации и другие в портретной при использовании NavController? - PullRequest
1 голос
/ 20 марта 2020

Я использую сканер штрих-кода на одном из моих фрагментов, и мне нужно повернуть только этот фрагмент, чтобы отсканировать штрих-код. Я попытался повернуть с помощью OnDestinationChangedListener в моей единственной деятельности, но это кажется таким дорогостоящим. Как я могу сделать это лучше?

Ответы [ 2 ]

1 голос
/ 21 марта 2020

Да, вы можете просто применить Фрагменты Фрагмента при переходе к фрагменту, Как Это

override fun onCreate(savedInstanceState: Bundle?) {
  super.onCreate(savedInstanceState)
  activity?.let {
    it.window.addFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS)
    it.window.decorView.systemUiVisibility = (View.SYSTEM_UI_FLAG_IMMERSIVE
            or View.SYSTEM_UI_FLAG_LAYOUT_STABLE
            or View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
            or View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
            or View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
            or View.SYSTEM_UI_FLAG_FULLSCREEN)
   }
}

override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
     super.onViewCreated(view, savedInstanceState)
     activity?.requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE
}
0 голосов
/ 20 марта 2020

Вы должны реализовать ViewModel для обработки случаев поворота экрана

ниже ссылки могут помочь вам

https://android.jlelse.eu/dive-deep-into-androids-viewmodel-android-architecture-components-e0a7ded26f70

https://developer.android.com/topic/libraries/architecture/viewmodel

...