。SurfaceView
或
TextureView
SurfaceView
和
TextureView
应该对最终目标是识别此图像视图中的QR码,这可能会使事情变得更加复杂。onClick()
或更糟糕的是。
您可能会这么说。 :-)
通过使用ZXing库
zxing不是库。 Zxing是一个开源项目,发布了条形码扫描仪应用程序,一些集成类,可帮助您从应用程序启动条形码扫描仪应用程序,以及非Android环境的代码。在线上有一些将Zxing纠缠到图书馆的食谱,尽管我没有尝试过这些食谱。尽管我也没有尝试过其他一些条形码扫描库,但还有其他一些条形码扫描库。原则上,其中一个应该能够允许您将具有扫描能力的预览嵌入更大的活动中。 Consonsware接受的答案很棒。但是,它可能是指较旧的
,现在在2025年已弃用了几年。如今,有一个较新的onTouchEvent()
Camera1
CameraX
相比,它是较低的,Camera2
;与
CameraX
CameraX
Camera2
https://developer.android.com/media/camera/choose-camera-library
))。 类似
Camera1
,
CameraX
有一个预览用例,并且(来自Https://developer.android.com/media/camera/camerax/camerax/camera1-to-camerax, 在相机1中,您需要决定是使用纹理视图还是表面视图作为预览表面。这两个选项都带有权衡,无论哪种情况,Camera1都要求您处理旋转并正确缩放。另一方面,Camerax的PreviewView具有基本的纹理视图和SurfaceView的实现。 Camerax决定哪种实施是最好的,具体取决于您应用程序正在运行的设备类型和Android版本等因素。如果任何一个实现都是兼容的,则可以将您的偏好与previewview.implementationmode声明。兼容选项使用纹理视图进行预览,并且性能值使用SurfaceView(可能)。