【问题标题】:how to define the screen orientation before the activity is created?如何在创建活动之前定义屏幕方向?
【发布时间】:2011-07-21 15:49:40
【问题描述】:

我通过以下方式将我的活动定义为仅处于纵向模式: android:screenOrientation="portrait"

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

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

【问题讨论】:

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


    【解决方案1】:

    您还可以通过将android:configChanges="orientation" 添加到活动定义中,然后在活动中重写 onCofigurationChanged 方法来注册活动以显式处理任何方向更改,如下所示:

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

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

    【讨论】:

    • fanstatic :) 我不必重写回调,只是这个标签解决了很多问题。谢谢
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-05
      • 1970-01-01
      • 2015-11-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多