1)、设置Activity强制横屏,成像效果不错,所见即所拍,但是系统组件一样跟着横屏,比如菜单,图片预览对话框等。
//横屏 //setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
2)、设置相机预览强制横屏,能解决竖屏变形问题,但是横屏又悲剧了。
//设置相机强制横屏,防止预览变形 //mCamera.setDisplayOrientation(90);
3)、吸收方法1)和2)的教训,我们来一个完全之策:
设置Activity的属性:android:configChanges="orientation|keyboardHidden"(在Manifest文件的Activity声明中),然后在代码中监听横竖屏幕切换,再设置相机预览角度。
//横竖屏切换 @Override public void onConfigurationChanged(Configuration newConfig) { // TODO Auto-generated method stub super.onConfigurationChanged(newConfig); if(newConfig.orientation==Configuration.ORIENTATION_LANDSCAPE){ //横屏 mCamera.setDisplayOrientation(0); }else{ //竖屏 mCamera.setDisplayOrientation(90); } }