相机无法在纵向 android 2.2 及更高版本中工作

Posted

技术标签:

【中文标题】相机无法在纵向 android 2.2 及更高版本中工作【英文标题】:camera is not working in portrait orientation android 2.2 and above 【发布时间】:2012-12-03 09:22:57 【问题描述】:

我使用了surfaceview(android 2.2 及更高版本),如果我在AndroidManifest.xml 中编写以下代码,结果会很好

   <activity
        android:name="com.custom.camera.CustomCamera"
        android:screenOrientation="landscape" >
    </activity>

但是如果我使用下面的代码,相机视图不会显示

     <activity
        android:name="com.custom.camera.CustomCamera"
        android:screenOrientation="portrait" >
    </activity>

横向模式的图片可以正常工作

如果我在纵向模式下使用,相同的图片将变为

谁能告诉我为什么会这样

xml文件是

     <?xml version="1.0" encoding="utf-8"?>

<FrameLayout
    android:id="@+id/mPreview"
    android:layout_
    android:layout_ />

<FrameLayout
    android:id="@+id/overlay_container"
    android:layout_
    android:layout_
    android:orientation="vertical"
    android:visibility="visible" >

    <Button
        android:id="@+id/mTakePicture"
        android:layout_
        android:layout_
        android:text="Take Picture" />

    <ImageView
        android:id="@+id/mFrontView"
        android:layout_
        android:layout_
        android:padding="5dp" />
</FrameLayout>

         LOGCAT ISSUE

如果它处于纵向模式,我会收到如下错误

       12-16 15:43:09.297: E/Camera(7104): Error 1
       12-16 15:43:15.297: E/Camera(7104): Error 1
       12-16 15:43:21.307: E/Camera(7104): Error 1
       12-16 15:43:27.337: E/Camera(7104): Error 1

在风景中它工作正常

【问题讨论】:

您使用的是平板设备还是手机? 嗨 Ali Imran 我正在使用手机 android 2.3 检查我的代码以使用表面视图:- ***.com/questions/13633758/… 【参考方案1】:
  1)You have to make your own custom view with all your logics and design in a separate class which extends View

  2) The SurfaceView must be placed inside a Frame or RelativeLayout 

  3) Finally your custom view must be specified in your layout xml as a child  

这需要一些时间,但你有很多例子和教程

【讨论】:

以上是关于相机无法在纵向 android 2.2 及更高版本中工作的主要内容,如果未能解决你的问题,请参考以下文章

在 Android APK 2.2 及更高版本中保存和加载 Object[] 信息

android方向 - 意图问题(相机)

android M 之前的运行时权限(api 14 及更高版本)

离子推送通知自定义声音无法在 Android Oreo 及更高版本上播放

无法启动 APK 文件以便用户可以安装它,Android 9 及更高版本?

PubNub GCM通知无法在Android 5.0及更高版本上运行