Android开发拍照功能横竖屏处理方法

1)、设置Activity强制横屏,成像效果不错,所见即所拍,但是系统组件一样跟着横屏,比如菜单,图片预览对话框等。
        //横屏        //setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

2)、设置相机预览强制横屏,能解决竖屏变形问题,但是横屏又悲剧了。
        //设置相机强制横屏,防止预览变形            //mCamera.setDisplayOrientation(90);

3)、吸收方法1)和2)的教训,我们来一个完全之策:
         设置Activity的属性:android:configChanges="orientation|keyboardHidden"(在Manifest文件的Activity声明中),然后在代码中监听横竖屏幕切换,再设置相机预览角度。
?
代码片段,双击复制
01
02
03
04
05
06
07
08
09
10
11
12
13
//横竖屏切换
        @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 );
         }
        }
希望可以帮到各位同行。

你可能感兴趣的:(Android开发)