Почему zoomRatio отображает ошибку «Неразрешенная ссылка» при использовании camerax «1.0.0-alpha06»? - PullRequest
6 голосов
/ 07 января 2020

Я прочитал статью. https://proandroiddev.com/android-camerax-tap-to-focus-pinch-to-zoom-zoom-slider-eb88f3aa6fc6

Я добавляю код А к образцу офиса Camerx. https://github.com/android/camera-samples/tree/master/CameraXBasic

В примере кода используется camerax "1.0.0-alpha06"

Я получаю сообщение об ошибке Неразрешенная ссылка для zoomRatio, вы можете увидеть Рисунок 1, как можно Я чиню это?

Код A

 private fun setUpPinchToZoom() {
        val cameraControl = CameraX.getCameraControl(lensFacing)
        val cameraInfo = CameraX.getCameraInfo(lensFacing)

        val listener = object : ScaleGestureDetector.SimpleOnScaleGestureListener() {
            override fun onScale(detector: ScaleGestureDetector): Boolean {
                val currentZoomRatio: Float = cameraInfo.zoomRatio.value ?: 0F
                val delta = detector.scaleFactor
                cameraControl.setZoomRatio(currentZoomRatio * delta)
                return true
            }
        }

        val scaleGestureDetector = ScaleGestureDetector(context, listener)

        viewFinder.setOnTouchListener { _, event ->
            scaleGestureDetector.onTouchEvent(event)
            return@setOnTouchListener true
        }
    }

Изображение 1 enter image description here

1 Ответ

4 голосов
/ 09 января 2020

Элементы управления масштабированием были добавлены в версии 1.0.0-alpha07. Вам необходимо обновить код, чтобы использовать хотя бы версию камеры Core 1.0.0-alpha07: https://developer.android.com/jetpack/androidx/releases/camera

...