Android getX()的值错误(&;getY()当通过收缩而不是活动旋转视图时

Android getX()的值错误(&;getY()当通过收缩而不是活动旋转视图时,android,android-studio,android-camera,Android,Android Studio,Android Camera,这就是我要做的。 我有一个摄像机视图用户可以执行一些过程(缩放,移动,和旋转) 当用户捕获图像时,我需要将其与相机视图上应用的过程放在相机框的相同位置 我是这样做的 mCameraView是摄像机视图,mCaptureImage是预览图像 如果用户不旋转长方体,一切都正常。但是,如果用户旋转长方体,我得到了错误的x,y值,我不知道为什么会发生这种情况,图像会跳转到未指定的位置 我进行了调试,发现旋转视图时x、y值发生了变化 这是XML的代码 <FrameLayout xmlns:a

这就是我要做的。

我有一个摄像机视图用户可以执行一些过程(缩放移动,和旋转

当用户捕获图像时,我需要将其与相机视图上应用的过程放在相机框的相同位置

我是这样做的

mCameraView
是摄像机视图,
mCaptureImage
是预览图像

如果用户不旋转长方体,一切都正常。但是,如果用户旋转长方体,我得到了错误的x,y值,我不知道为什么会发生这种情况,图像会跳转到未指定的位置
我进行了调试,发现旋转视图时x、y值发生了变化

这是XML的代码

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/selfie_move_root"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/transparent">

<com.otaliastudios.cameraview.CameraView
    android:id="@+id/selfie_camera_view"
    android:layout_width="300dp"
    android:layout_height="200dp"
    android:layout_gravity="center_vertical|center_horizontal"
    android:visibility="gone"
    app:cameraCropOutput="true"
    app:cameraPlaySounds="false" />

<ImageView
    android:id="@+id/selfie_capture_image"
    android:layout_width="300dp"
    android:layout_height="200dp"
    android:adjustViewBounds="true"
    android:scaleType="fitXY"
    android:visibility="gone" />

</FrameLayout>




有谁能帮我解决这个问题吗

屏幕的旋转将构成配置更改,该更改将更改“当前可用屏幕大小”。为了避免这种情况,您必须使用
configChanges
属性自己处理配置更改,并指定一个值

听起来您应该使用“屏幕大小”和“方向”值。这将导致您的活动获得对
onConfigurationChanged()
的调用,而不是重新创建活动

警告:自行处理配置更改会使使用替代资源变得更加困难,因为系统不会自动为您应用这些资源。当您必须避免由于配置更改而重新启动时,应将此技术视为最后手段,并且不推荐用于大多数应用程序

有关处理配置更改的更多信息:


有关
configChange
属性的更多信息:

您理解这个问题了吗?视图的轮换不是活动的轮换你找到解决方案了吗?不幸的是,没有:(谢谢你的评论和时间,但这不是我要问的,我将附上图像示例
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/selfie_move_root"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/transparent">

<com.otaliastudios.cameraview.CameraView
    android:id="@+id/selfie_camera_view"
    android:layout_width="300dp"
    android:layout_height="200dp"
    android:layout_gravity="center_vertical|center_horizontal"
    android:visibility="gone"
    app:cameraCropOutput="true"
    app:cameraPlaySounds="false" />

<ImageView
    android:id="@+id/selfie_capture_image"
    android:layout_width="300dp"
    android:layout_height="200dp"
    android:adjustViewBounds="true"
    android:scaleType="fitXY"
    android:visibility="gone" />

</FrameLayout>