默认情况下:
手机横屏,软件界面是横屏,摄像或照相是横屏
手机竖屏,软件界面是竖屏,摄像或照相是竖屏请问如何设置才能达到如下效果:
手机横屏,软件界面是横屏,摄像或照相是横屏
手机竖屏,软件界面是竖屏,摄像或照相是横屏谢谢!

解决方案 »

  1.   

    基本没戏,我在2.1的时候用setOrientation还成功过,但到2.2就彻底没办法了,最后只能是把屏幕的设计横过来,让人看着是竖的
      

  2.   

    5楼说法是有用的。不过我觉得客户应该不会接受的吧。setOrientation一般都是再驱动上去改的。一般摄像头拍照后照片会有一个exif的信息会加入,这个信息在预览的时候会判断是否要坐90°旋转,这样在gallery相册里看的时候就会旋转了。这个要跟下camera的hal层代码,和gallery的实现。祝你好运。
      

  3.   

    照相机在一般情况下是必须用landscape layout(横屏)的,可以证明,先写一个照相机(只要能preview就行),如果Manifest的activity里不加入android:screenOrientation="landscape",即默认了 android:screenOrientation="portrait"(竖屏),照相机preview时就会出现左倾90度的现象,并且失比。原因是这样的(我推测的),摄像头对照物的映射是Android底层固定了的,以landscape方式为正,并且产生大小为320*480的像,如果换成portrait方式了,摄像头还是产生320*480的像,然后分别对应的放入到一个480*320的屏内,显然会失比,然后根据竖、横屏的规则,就产生了左倾90度的情况(图例见左)。为了进一步证实我对失比原因的推测,我照相机内加载的SurfaceView调成了320*213,比例大概是(320:213)*1.5=(480:320),所成像结果如愿的形成左倾但是没有失比的状况,这就证实了我的想法。
    解决方案
        暂无好的解决方案,只能强制横屏,记载代码中加入
            setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
        暂无好的解决方案,只能强制横屏,记载代码中加入
            android:screenOrientation="landscape"