onConfigurationChanged-它仍然显示第一个布局

ata*_*oyh 4 android android-manifest

我有一个处理配置更改的活动.但现在我必须改变布局.我尝试在onConfigurationChanged回调中再次设置布局并希望得到正确的布局(土地),但它仍然显示纵向视图的第一个布局(有两个布局(同名)放置在res/layout和res/layout-land :)

如果我删除android:configChanges ="orientation",它应该是,但是需要处理onConfigurationChanged.我该怎么办??

Sha*_*God 16

如果你有你的纵向布局main.xml/res/layout,你的景观布置main.xml/res/layout-land,你的onConfigurationChanged()这个样子的:

    public void onConfigurationChanged(Configuration newConfig) {
            super.onConfigurationChanged(newConfig);                
            setContentView(R.layout.main);
    ...
    ...
    ...

    }
Run Code Online (Sandbox Code Playgroud)

在你的清单中你应该拥有 android:configChanges="keyboardHidden|orientation"

然后它应该工作正常,就像在我的应用程序中一样.这是你在做什么的?

  • 我认为,因为在某些设备上有人滑动打开键盘时也会自动改变方向. (5认同)