为单活动架构中的片段设置横向方向

Fra*_*cis 5 android android-fragments android-orientation android-activity

如何Fragment 在Single Activity Architecture中仅实现一种锁定屏幕方向(Activity对于整个应用程序而言只有一种)?

是否有比指定每种方向更好的解决方案Fragment?我试图避免把activity?.requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED每个无关的东西放进去Fragment

Abb*_*bas 5

首先让我说@madlymad有正确的想法,BaseFragment如果你还没有创建一个类,你应该创建一个类。

但是,如果由于某种原因您不能或不想这样做,您可以改为在Fragment's 中设置方向onAttached()onCreate()或者onCreateView()

activity?.requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_PORTRAIT
Run Code Online (Sandbox Code Playgroud)

然后在各自的对应项中重置onDetached()onDestroy()onDestroyView()

activity?.requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED
Run Code Online (Sandbox Code Playgroud)

这将确保您只能在正确的片段中获得不同的方向。