方向改变时,Android横向到纵向不加载屏幕

方向改变时,Android横向到纵向不加载屏幕,android,screen-orientation,Android,Screen Orientation,我已经为纵向和横向的大屏幕创建了一个布局,并且在两个布局中都有一个signin.xml,但是当我更改屏幕方向时,它不会加载横向xml,而是会更改为横向模式,但纵向xml已经加载。 我在清单中也提到了onconfig更改,请让我知道在方向更改时如何保存数据 请给我举个例子 下面是我的java代码 public void onConfigurationChanged(Configuration newConfig) { super.onConfigur

我已经为纵向和横向的大屏幕创建了一个布局,并且在两个布局中都有一个signin.xml,但是当我更改屏幕方向时,它不会加载横向xml,而是会更改为横向模式,但纵向xml已经加载。 我在清单中也提到了onconfig更改,请让我知道在方向更改时如何保存数据 请给我举个例子

下面是我的java代码

              public void onConfigurationChanged(Configuration newConfig) {
          super.onConfigurationChanged(newConfig);

               Display display = ((WindowManager)       getSystemService(WINDOW_SERVICE)).getDefaultDisplay();
            int   orientation = display.getOrientation(); 
            boolean oAllow = false;
            switch(orientation) {
            case Configuration.ORIENTATION_PORTRAIT:
            if(!oAllow ) {
                    setRequestedOrientation    (ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

            }
            break;
        case Configuration.ORIENTATION_LANDSCAPE:
            if(!oAllow) {
                    setRequestedOrientation (ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
            }
            break;
    }
      }
当我将横向视图更改为纵向视图时,如何获得横向视图


有什么建议吗?提前感谢

为什么您要覆盖onconfigchanges?这可能会打乱你的布局。当您拥有包含布局的布局和布局land文件夹时,android能够处理布局更改。

您的纵向xml文件夹布局还是纵向布局?如果是布局图,请不要这样声明。只需创建默认的“布局”文件夹,当方向为纵向时,操作系统将获取xml


接下来,用java注释上述代码,并在活动声明前面的androidmanifest.xml中声明android:configChanges=“keyboardHidden | orientation”,并测试它是否有效。

我认为您确实需要阅读开发人员文档。您应该只将布局文件定义到不同的资源文件夹中。我在布局区域和布局区域中都添加了sigin.xml,因此删除了onConfigurationChanged()代码。因此,您说需要删除onconfig更改,但方向更改时仍不会加载屏幕。。它在横向模式下加载相同的屏幕,如果删除-纵向会怎么样?只是留下一个布局和布局的土地文件夹?哪里出了问题。。。安卓系统应该能自动处理这一问题,现在运行良好。。。。但我想知道如何保存我的listviewdata。我建议将您的数据存储在服务中,并在onStart()方法中调用一个方法来填充您的表。我正在为平板电脑开发这些数据。我已经创建了两个布局大的landdude。然后,对于平板电脑,您应该具有布局大(portait)和布局大的land for Landset。进行更正。或者试试layout xlarge(portriat)和layout xlarge land(景观),非常感谢它现在运行良好。。。。但我想知道如何保存我的listviewdata。有一个类似的问题,修复程序实际上是从android中删除“屏幕大小”:在我的清单中配置更改。出于某种原因,在我创建活动时,默认情况下应用了此选项:android:configChanges=“keyboardHidden | orientation | screenSize”将其更改为:android:configChanges=“keyboardHidden | orientation”解决了此问题