1

我之前构建了很多与相机相关的应用程序,但它们总是构建在一个活动中,我在用户拍照后将视图锁定为横向或纵向。然而,这个新的应用程序要求允许在我调用 camera.stopPreview() 后允许旋转屏幕上捕获的图像。我曾经想过这样做......

1.)存储我的图片回调中的字节并将其放在一个包中

2.) 在我的 onResume 中检查 bundle != null 是否获取字节数组

3.) 因为我将surfaceView 放在frameLayout 中,所以我可以用imageView 临时替换surfaceView 并使用bitmapfactory.decodebytearray() 为imageview 创建位图图像。

现在我知道我可以让这一切正常工作,但是有没有办法通过相机预览或其他东西,所以我不必付出额外的努力来达到我的要求?此外,我必须创建和存储的位图越少,在内存方面就越好,这就是为什么我不去这样做的原因。

4

1 回答 1

0

我最终只是在我的图片回调中使用了这个

if(getScreenOrientation()==Configuration.ORIENTATION_LANDSCAPE){
         setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
         }else{
            setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
         }

然后在我使用的一个按钮中

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR);

将其全部重新打开,使其再次旋转

于 2013-01-25T22:23:08.247 回答