如何修复 CameraX 旋转支持

Nik*_*pin 5 android matrix android-jetpack android-camerax

我遇到了 CameraX 屏幕旋转支持的问题。

肖像看图

风景: 看图

转换代码:

private void updateTransform() {
    Log.d(TAG, "updateTransform: ");
    Matrix matrix = new Matrix();

    float centerX = cameraViewTextureV.getWidth() / 2f;
    float centerY = cameraViewTextureV.getHeight() / 2f;

    switch (cameraViewTextureV.getDisplay().getRotation()) {
        case Surface.ROTATION_0:
            rotation = 0;
            break;

        case Surface.ROTATION_90:
            rotation = 90;
            break;

        case Surface.ROTATION_180:
            rotation = 180;
            break;

        case Surface.ROTATION_270:
            rotation = 270;
            break;

        default:
            break;
    }

    matrix.postRotate((float) -rotation, centerX, centerY);

    cameraViewTextureV.setTransform(matrix);
}
Run Code Online (Sandbox Code Playgroud)

所以,正如你在图片中看到的,相机支持屏幕旋转不正确......我updateTransform在屏幕旋转时调用方法......从Android开发者网站的cameraX官方指南中获取此代码。

将非常感谢任何修复建议。祝你今天过得愉快!