我正在使用一个实时应用程序,其中包含应用程序中的选项卡.当我尝试在纵向和横向之间切换方向时,我有代码显示横向的单独布局.为此,我使用了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.此外,我不希望在横向模式下看到选项卡.对此有任何想法.
在参考资料中,您可以为每个方向定义不同的布局,类似于具有屏幕密度的可绘制的布局.
在布局文件夹旁边,您可以将布局放在:
layout-port:纵向布局
布局 - 土地:横向布局
当然,你应该为这些布局使用相同的名称,与drawables相同.
这时正好的setContentView(R.layout.thatlayout);