Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/214.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 我可以在风景相机SurfaceView的顶部添加肖像布局吗?_Android_Camera_Orientation_Android Layout - Fatal编程技术网

Android 我可以在风景相机SurfaceView的顶部添加肖像布局吗?

Android 我可以在风景相机SurfaceView的顶部添加肖像布局吗?,android,camera,orientation,android-layout,Android,Camera,Orientation,Android Layout,我的应用程序应该保存相机预览曲面。摄像机通过AndroidMainfest.xml固定到横向视图 <application android:icon="@drawable/icon" android:label="Camera"> <uses-library android:name="com.google.android.maps" /> <uses-feature android:name="android.hardware.came

我的应用程序应该保存相机预览曲面。摄像机通过AndroidMainfest.xml固定到横向视图

<application android:icon="@drawable/icon" 
    android:label="Camera">

    <uses-library android:name="com.google.android.maps" />
    <uses-feature android:name="android.hardware.camera" />
    <uses-feature android:name="android.hardware.camera.autofocus" />

    <activity android:name=".CameraPreview"
            android:label="Camera"
            android:screenOrientation="landscape">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

</application>
我对Android平台编程相当陌生。当然,我还不太了解编程技巧和解决方法。在过去的两周里,我做了很多研究(甚至研究了本机摄像头的实现),但到目前为止还没有找到一个好的解决方案


可能它适用于两个独立的活动,但我认为这不是正确的解决方案。

您需要覆盖onDispatchDraw以旋转视图组的子对象,但随后会遇到其他问题(请参阅)

public class RotatedOverlay extends RelativeLayout {


private static final String TAG = "RotatedOverlay";


public RotatedOverlay(Context context, AttributeSet attrs ) {
    super(context, attrs);
}

@Override
protected void onDraw(Canvas canvas) {
    canvas.rotate(90);
    super.onDraw(canvas);
}