我在编写相机应用程序时遇到问题。我的布局是这样的。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:id="@+id/mainLayout" >
<SurfaceView
android:id="@+id/surface"
android:layout_width="240px"
android:layout_height="160px" />
<!-- A horizontal blue line -->
<View
android:layout_width="match_parent"
android:layout_height="1px"
android:background="@color/blue"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<ScrollView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:scrollbarAlwaysDrawVerticalTrack="true" >
<TextView
android:id="@+id/details1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/blue"
android:textSize="12sp" />
</ScrollView>
<!-- A vertical blue line -->
<View
android:layout_width="1px"
android:layout_height="match_parent"
android:background="@color/blue"/>
<TextView
android:id="@+id/details2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/blue"
android:textSize="12sp"
android:text="@string/about"/>
</LinearLayout>
为了阻止系统重新启动活动,我已将此属性包含在清单中的活动标记中。
android:configChanges="keyboardHidden|orientation|screenSize|keyboard|layoutDirection"
surfaceview 将显示相机预览。我必须在不调用 Camera 对象的任何方法的情况下处理方向更改,即表面视图应该显示正确的相机预览方向而不调用camera.setDisplayOrientation()
。
我尝试在 中旋转surfaceview onConfigurationChanged()
,但surfaceview在旋转时不显示预览,而是仅以原始方向显示预览。