android中自动旋转屏幕功能问题

时间:2012-04-10 08:24:52

标签: android android-layout android-intent android-widget

我在应用程序中遇到一个问题,当我检查设置时 - >显示 - >自动旋转屏幕并运行我的应用程序,其中所有活动将以横向模式显示,因此当我从其他活动启动一个活动并以垂直形式旋转设备并在点击按钮时返回到上一个活动,在按钮点击事件中我完成了将以前的活动放在最前面的活动,但它丢失了所有先前配置的数据,但是当我取消选中设备的自动旋转屏幕选项时,它保持以前的活动状态。

所以不确定,为什么会出现这种情况?

请帮我解决。

此致 皮克斯

3 个答案:

答案 0 :(得分:7)

android:configChanges="orientation|screenSize"设置为 AndroidManifest.xml 中的所有活动,以手动覆盖方向更改

答案 1 :(得分:2)

配置更改(如方向更改)将导致重新创建您的活动,除非您自己专门处理这些事件。 有关详细信息,请阅读相关文档。

  1. http://developer.android.com/guide/topics/resources/runtime-changes.html
  2. http://developer.android.com/resources/articles/faster-screen-orientation-change.html

答案 2 :(得分:0)

当您旋转屏幕时,会重新创建android活动,因此它会丢失以前的所有状态。为避免这种情况,您可以执行以下操作

  1. 在android menifest文件中停止娱乐(只需定义android:configChanges =“keyboardHidden | orientation | screenSize”)。

  2. 使用以下处理程序方向。

     @Override
            public void onConfigurationChanged(Configuration newConfig) {
                super.onConfigurationChanged(newConfig);
    } 
    
  3. 如果在纵向模式和横向模式下布局不同,则应该处理方向