文档介绍:一、程序打开时直接切换,保持不变 java 代码中加入 android:screenOrientation="landscape" 中加入 setRequestedOrientation(); 二、程序运行时切换 系统自动切换利用 Android 系统每次屏幕切换会重启 Activity 的特性,在 OnCreat 处自动加载不同显示状态下的 layout 。例: 是竖屏状态下的 layout , 文件保存于 res/layout 文件夹中。为实现横屏切换, 建立文件夹 res/layout-land , 在里面创建新的界面文件 ,与 res/layou t 文件夹中文件同名。则当设备由竖屏切换到横屏, 或者反之时,在 onCreate() 函数中直接执行 setContentView() 即可自动加载不同的界面文件。另外,在 res/layout-land 中建立同名文件是用系统自动判断加载, 也可以手动判断加载。如在 res/layout 文件夹中有竖屏界面 main- 及横屏界面 main-, 则可以在 onCreate() 函数中通过判断横竖屏状态以显式加载不同界面,代码: int mCurrentOrientation = getResources().getConfiguration().orientation; if( mCurrentOrientation == ){ // If current screen is portrait setContentView(-P); } else if( mCurrentOrientation == ){ //If current screen is landscape setContentView(-L); } 由于 android 系统屏幕切换会重启 Activity ,所以应该在 Activity 销毁前保存当前活动的状态,在 Activity 再次 Create 的时候载入配置。 2. 利用 Activity 的 onConfigurationChanged() 方法手动切换为避免 Android 系统自动重启 activity , 需要在 中相应 Activit y 加上 android:configChanges="keyboardHidden|orientation" 属性,使相应的 Activity 不重启而是调用 onConfigurationChanged(Configuration newConfig) 。例: res/layout 下有竖屏界面 main- 及横屏界面 main- 。 onCreate() 时同理判断以显示不同的界面: ***@Override protected void onCreate