我使用了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_width="fill_parent"
android:layout_height="fill_parent" />
<FrameLayout
android:id="@+id/overlay_container"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:visibility="visible" >
<Button
android:id="@+id/mTakePicture"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Take Picture" />
<ImageView
android:id="@+id/mFrontView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
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
在风景中它工作正常
答案 0 :(得分:0)
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
这需要一些时间,但你有很多例子和教程