我读过这篇文章。
https://proandroiddev.com/android-camerax-tap-to-focus-pinch-to-zoom-zoom-slider-eb88f3aa6fc6
我在officecamerx示例中添加了代码A。
https://github.com/android/camera-samples/tree/master/CameraXBasic
示例代码使用camerax“1.0.0-alpha06”
我得到了错误未解决的zoomRatio参考,你可以看到图片1,我如何修复它?
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