如何在android中为纵向和横向模式提供单独的布局

and*_*ser 1 android

我正在使用一个实时应用程序,其中包含应用程序中的选项卡.当我尝试在纵向和横向之间切换方向时,我有代码显示横向的单独布局.为此,我使用了onConfigurationChanged如下方法

public void onConfigurationChanged(Configuration newConfig) {

    super.onConfigurationChanged(newConfig);
    if(newConfig.orientation==Configuration.ORIENTATION_PORTRAIT){
        setContentView(R.layout.eventslist);
    }else if(newConfig.orientation==Configuration.ORIENTATION_LANDSCAPE){
        setContentView(R.layout.eventstimeline);
    }
}
Run Code Online (Sandbox Code Playgroud)

而且在该特定活动的清单文件中,我使用了两个属性,如下所示

android:screenOrientation="sensor"

android:configChanges="orientation|keyboardHidden"
Run Code Online (Sandbox Code Playgroud)

但是当我旋转设备时,我无法看到我指定的横向模式的单独布局onConfigurationChanged.此外,我不希望在横向模式下看到选项卡.对此有任何想法.

vbo*_*kan 5

在参考资料中,您可以为每个方向定义不同的布局,类似于具有屏幕密度的可绘制的布局.

布局文件夹旁边,您可以将布局放在:

layout-port:纵向布局

布局 - 土地:横向布局

当然,你应该为这些布局使用相同的名称,与drawables相同.

这时正好的setContentView(R.layout.thatlayout);