我正试图强制我的应用中的所有活动处于纵向或横向模式,向用户展示设置。
基本上在onCreate()我请求正确的方向,就像这样
@Override
protected void onCreate(final Bundle savedInstanceState) {
setRequestedOrientation(SettingsHelper.getOrientation());
}
实际上它的作用是,如果我们将设备保持在纵向模式并且请求的方向是风景,那么它只是以纵向模式创建活动,然后它在景观中重现它。在高端设备上这是可以接受的,因为它是瞬时的,但是在低端设备上它是一场灾难,因为在创建和娱乐之间有5秒的延迟...
我已经尝试过: - 不仅在onCreate中的onResume中执行此操作 - 在清单android中定义:screenOrientation =“nosensor” - 在清单android中定义:screenOrientation =“后面” - 在清单android中定义:screenOrientation =“unspecified” - 在清单android中定义:configChanges =“orientation”
你知道如何阻止双重创作吗?
答案 0 :(得分:0)
在AndroidManifest.xml的活动代码中添加此行
android:configChanges="keyboardHidden|orientation|screenSize">
示例:
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:configChanges="keyboardHidden|orientation|screenSize">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>