CameraX
CameraX的介绍
CameraX 是一个 Jetpack 支持库,旨在帮助您简化相机应用的开发工作。它提供了一个一致且易于使用的API界面,可以兼容至android5.0。(API 级别 21)
CameraX的基础使用
本文章使用kotlin代码
第一步
要使用CameraX首先要在build.gradle(module:app)的dependencies{}里添加如下代码:
def camerax_version = "1.0.0-beta07"
// 使用camera2实现的CameraX核心库
implementation "androidx.camera:camera-camera2:$camerax_version"
// CameraX生命周期库
implementation "androidx.camera:camera-lifecycle:$camerax_version"
// CameraX View类
implementation "androidx.camera:camera-view:1.0.0-alpha14"
然后进行gradle同步(这里可能需要开代理)
第二步
在主要布局文件里创建一个Button和一个androidx.camera.view.PreviewView(使用自定义的Button会更好)如下:
<ImageButton
android:id="@+id/camera_capture_button"
android:layout_width="92dp"
android:layout_height="92dp"
android:layout_marginBottom="80dp"
android:scaleType="fitCenter"
android:background="@drawable/ic_shutter"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
android:elevation="2dp"
/>
<androidx.camera.view.PreviewView
android:id="@+id/viewFinder"
android:layout_width="match_parent"
android:layout_height="match_parent" />
第三步
在AndroidManifest.xml文件中申请权限
<uses-feature android:name="android.hardware.camera.any" />
<uses-permission android:name="android.permission.CAMERA" />
在第四步中要在activity的