我有一个带有预览类的相机片段,它以全屏模式运行。在设备旋转时从纵向模式切换到横向模式时会有明显的暂停。我已迫使活动以纵向模式运行,现在在预览设备旋转时没有更多延迟。我现在可以使用OrientationEventListener()来确定设备的方向,并在保存图片时执行正确的图像旋转。
屏幕上有几个按钮,当处于纵向模式(0度方向)时,它们位于屏幕的底部。当我旋转设备时,我现在需要重新绘制新底部的按钮,因为设备不再单独执行此操作(由于纵向模式强制)。我想到这个片段有4个布局,并且取决于OrientationEventListener()检测到的方向,会膨胀正确的。通知发生在片段的onCreateView()中,我现在如何强制执行onCreateView()?
或者是否有更好的解决方案或首先没有这样做的具体原因?
这是片段xml代码:
<RelativeLayout 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"
tools:context=".PhotoCaptureFragment" >
<FrameLayout
android:id="@+id/camera_preview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
/>
<Button
android:id="@+id/camera_folder"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:src="@drawable/ic_action_collection"
android:background="@drawable/ic_action_collection" />
<Button
android:id="@+id/camera_capture"
android:layout_width = "wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_alignParentBottom="true"
android:layout_gravity="center"
android:src="@drawable/camera_icon"
android:background="@drawable/camera_icon" />
谢谢你, 加里