android - CameraX cameraView 和 previewView

标签 android android-jetpack android-camerax

camerax cameraView 和 previewView 有什么区别?因为我找不到关于比较 2 个 View 以预览 camerax 的资源或文章

最佳答案

PreviewView 是一个自定义 View ,可用于显示相机预览。您可以将它添加到您的 XML 布局,然后在您的 Activity/Fragment 中,将它与 Preview 用例连接起来以获取预览流开始了。因此,在使用 PreviewView 时,您需要负责设置相机、创建 Preview 用例(以及您可能想要使用的其他用例),并将它们绑定(bind)到一个生命周期。您可以在 this article 中阅读有关 PreviewView 及其工作原理的更多信息.

CameraView 是一个可以做很多事情的自定义 View ,它被构建为允许用户通过在他们的 XML 布局中添加 View 来快速设置“相机应用程序”。它允许显示相机预览、拍照、录制视频、放大/缩小取景器,并提供不同的 API 来配置相机(镜头朝向、闪光灯、比例类型、捕获模式等)。它负责设置相机、绑定(bind)和解除绑定(bind)用例等等。需要注意的重要一点是,为了显示预览,它在内部使用了 PreviewView。我没有在网上看到很多关于 CameraView 的文章,我推荐 this one虽然。

如果您需要灵活地设置相机和构建/配置用例,或者如果您需要使用 ImageAnalysis 用例,那么 CameraView 可能不是正确的选择。 PreviewView 的构建是为了减轻设置和处理相机使用的预览表面的负担,以及处理显示预览的困难部分(缩放、旋转、宽高比等)。

关于android - CameraX cameraView 和 previewView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62316647/

相关文章:

java - 如何使用两个 url 调用异步任务

java - 尝试创建 SQLite 数据库时出现 NullPointerException - Android

android - 从 Firebase 崩溃报告中获取原始堆栈跟踪

Android Jetpack compose - 观察第二次更改后未触发的实时数据

android - 防止导航到同一个 fragment

Java:如何在 CameraX previewView 上绘图?

android - 为什么不能改变图像的分辨率?

android - 如何在 Android Studio 和/或 gradle 中设置 NDK_MODULE_PATH?

android 添加 MultiSelectListPreference

android - 如何在 CameraX API 中切换相机?