Android 在使用NavController时,是否有办法在横向中使用一个片段,在纵向中使用其他片段?

Android 在使用NavController时,是否有办法在横向中使用一个片段,在纵向中使用其他片段?,android,android-architecture-navigation,Android,Android Architecture Navigation,我正在我的一个碎片上使用条形码扫描仪,我需要旋转这个碎片来扫描条形码。我曾尝试在我的单个活动中使用OnDestinationChangedListener进行轮换,但似乎成本太高。如何以更好的方式执行此操作?您必须实现ViewModel以处理屏幕旋转情况 下面的链接可能对您有所帮助 是的,当您导航到这样的片段时,您可以简单地应用片段标志 override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInst

我正在我的一个碎片上使用条形码扫描仪,我需要旋转这个碎片来扫描条形码。我曾尝试在我的单个活动中使用OnDestinationChangedListener进行轮换,但似乎成本太高。如何以更好的方式执行此操作?

您必须实现ViewModel以处理屏幕旋转情况

下面的链接可能对您有所帮助


是的,当您导航到这样的片段时,您可以简单地应用片段标志

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
}
看得好!onCreate()重写与旋转相关吗?