【问题标题】:Facing Difficulty While Setting Screen Orientation Of Activity At Run Time在运行时设置 Activity 的屏幕方向时遇到困难
【发布时间】:2011-11-23 08:35:18
【问题描述】:

各位朋友,
我有一个 Activity,我希望它在 240x320 的纵向模式和 320x240 的横向模式下运行。所以在 Activity 的 onCreate() 方法中我请求屏幕方向

    protected void onCreate(Bundle savedInstanceState) {
            // TODO Auto-generated method stub
            super.onCreate(savedInstanceState);

           if(is320x240)
              setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); 
           else
              setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); 

}

我的问题是:当我在 320x240 设备中启动此活动时,通过将设备保持在纵向模式,活动会自动存在(活动出现在几分之一秒内)。但是,如果我在启动时将设备保持在横向模式,它工作正常。

有什么问题?即使用户以纵向模式持有设备,我如何才能以横向模式启动活动?

提前致谢

【问题讨论】:

  • 你是在上面的代码后面设置内容视图吗?
  • 是的,我在我发布的代码之后设置内容视图
  • "窗口已经聚焦,忽略焦点增益:com.android.internal.view.IInputMethodClient$Stub$Proxy@4425e6f0" - 这就是我的 logcat 所说的
  • 您应该在发布代码之前设置内容视图,就像在 Krishna 建议链接中所做的那样。或者也许编辑您的代码以向我们展示 setcontentview()。
  • @Zappescu 我也试过了

标签: android


【解决方案1】:

每次更改设备方向时都会调用 On create。解决方法很简单 在 Activity 的 Mainfest 文件中设置以下属性。 android:configChanges="touchscreen|keyboard|keyboardHidden|navigation|orientation"

【讨论】:

    猜你喜欢
    • 2012-07-15
    • 1970-01-01
    • 2022-07-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-05
    • 1970-01-01
    相关资源
    最近更新 更多