CameraX вручную устанавливает разрешение для TextureView - PullRequest
0 голосов
/ 20 января 2020

Я работаю с камеройX. Теперь я сталкиваюсь с проблемой разрешения, изображение на экране растягивается или сжимается. Как я могу вручную установить разрешение?

xml:

  <androidx.constraintlayout.widget.ConstraintLayout 
xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    xmlns:app="http://schemas.android.com/apk/res-auto">

    <TextureView
        android:id="@+id/cameraView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"/>

</androidx.constraintlayout.widget.ConstraintLayout>

Код:

private fun bindPreview(cameraProvider: ProcessCameraProvider) {
  val preview: Preview = Preview.Builder()
            .setTargetName("Preview")
            .build()

 preview.setPreviewSurfaceProvider { resolution, surfaceReleaseFuture -> 
     val surface = Surface(cameraView.surfaceTexture)

    surfaceReleaseFuture.addListener(
                Runnable {
                    surface.release()
                }, ContextCompat.getMainExecutor(context)
            )

            Futures.immediateFuture(surface)
 }}

Что лучше использовать SurfaceView или TextureView? Я планирую наложить изображение, используя другой SurfaceView или GlSurfaceView!

...