如何在创建活动之前定义屏幕方向?

时间:2011-07-21 07:40:09

标签: android android-layout android-manifest android-lifecycle

我将我的活动定义为仅在纵向模式下:  机器人:screenOrientation = “纵向”

当我通过意图使用相机功能拍照时,以横向模式拍摄此照片并在保存时将屏幕转为纵向模式,我再次返回我的活动。我不明白的是,我的短时间活动处于横向模式,被破坏然后再以纵向模式再次构建......因为我的onCreate ond onRestore功能需要一些时间,用户的等待时间加倍。

是否有解决方法或其他内容?

2 个答案:

答案 0 :(得分:1)

您还可以通过将android:configChanges="orientation"添加到活动定义中,然后在活动中覆盖onCofigurationChanged方法来注册您的活动以明确处理任何方向更改:

@Override
public void onConfigurationChanged(Configuration newConfig) {
    super.onConfigurationChanged(newConfig);
    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}

我不确定它是否会对您的具体问题有所帮助,但我记得在我希望活动仅以纵向模式显示时这样做。让我知道它是否有帮助:)

答案 1 :(得分:0)

android:configChanges="orientation"添加到您的<activity>代码中。这样,在方向更改时不会重新创建活动,但只会收到您可以忽略的回调onConfigurationChanged