一个片段关心屏幕方向变化
问题描述:
我正在制作一个应用程序来遵循单个活动规则 - 整个APP生命周期中只有一个活动,屏幕只是片段。一个片段关心屏幕方向变化
除了一个/两个片段,整个应用程序只支持横向屏幕方向。 AndroidManifest.xml如下:
<activity
android:name=".ui.activity.MainActivity"
android:screenOrientation="portrait"
android:configChanges="orientation|keyboardHidden|screenSize"
android:label="@string/app_name">
问:如何锁定我的所有碎片? 我尝试通过重写活动中的onConfigurationChanged,但它永远不会被调用。
答
如果我理解你是正确的(因为它不清楚),你想锁定活动和所有的片段。 从技术上讲,你已经为整个和唯一的Activity设置了配置,这会影响你的碎片。如果不是这样,那么我怀疑这些碎片会禁用它的设置。我唯一的建议是在onCreateView(添加代码)并调用setRequestedOrientation()
代码建议在片段:
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
MainActivity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LOCKED);
...
}
'机器人:screenOrientation =“portrait' ”锁定“ 屏幕方向为纵向...现在为什么/当onConfigurationChanged应该被调用? – Selvin
那么,这是问题的一部分,是否有一种方法可以锁定除一个或两个以外的所有片段? – Qylin
如果我理解正确,为什么android:screenOrientation设置为纵向我认为这是你想要的,从你的陈述“...整个应用程序只支持风景画面” –