相機觀景窗
下表列出 androidx.camera-viewfinder
群組的所有構件。
構件 | 穩定版 | 候選版 | Beta 版 | Alpha 版 |
---|---|---|---|---|
viewfinder-compose | - | - | 1.5.0-beta01 | 1.4.0-alpha13 |
viewfinder-core | - | - | 1.5.0-beta01 | 1.4.0-alpha13 |
viewfinder-view | - | - | 1.5.0-beta01 | 1.4.0-alpha13 |
宣告依附元件
如要為 camera-viewfinder 新增依附元件,您必須將 Google Maven 存放區新增至專案。詳情請參閱 Google 的 Maven 存放區。
在應用程式或模組的 build.gradle
檔案中,新增所需構件的依附元件:
Groovy
dependencies { // Use to implement camera viewfinders implementation "androidx.camera.viewfinder:viewfinder-view:1.5.0-beta01" implementation "androidx.camera.viewfinder:viewfinder-compose:1.5.0-beta01" implementation "androidx.camera.viewfinder:viewfinder-core:1.5.0-beta01" }
Kotlin
dependencies { // Use to implement camera viewfinders implementation("androidx.camera.viewfinder:viewfinder-view:1.5.0-beta01") implementation("androidx.camera.viewfinder:viewfinder-core:1.5.0-beta01") implementation("androidx.camera.viewfinder:viewfinder-compose:1.5.0-beta01") }
如要進一步瞭解依附元件,請參閱「新增建構依附元件」一文。
意見回饋
您的意見可協助我們改善 Jetpack。如果您發現新問題,或是有改進這個程式庫的建議,請告訴我們。回報新問題前,請先查看這個程式庫的現有問題。只要按一下星號按鈕,即可投票給現有的問題。
詳情請參閱 Issue Tracker 說明文件。
1.5 版本
1.5.0-beta01 版
2025 年 5 月 7 日
發布 androidx.camera.viewfinder:viewfinder-compose:1.5.0-beta01
、androidx.camera.viewfinder:viewfinder-core:1.5.0-beta01
和 androidx.camera.viewfinder:viewfinder-view:1.5.0-beta01
。1.5.0-beta01 版包含這些修訂項目。
- 這是第一個官方 Beta 版,提供以 View 和 Compose 為基礎的觀景窗,可靈活搭配 Camera2 使用。如果您想找尋可與 CameraX 搭配使用的 View 或可組合項,請參閱
PreviewView
和CameraXViewfinder
。
新功能
ContentScale
和Alignment
現在可用於以 Compose 為基礎的 Viewfinder,以便在其容器中縮放及放置顯示的介面,類似於androidx.compose.foundation.Image
的行為。(Ibcea3)
API 變更
TransformationInfo
現在已為所有引數提供預設值。這樣一來,您就能在沒有任何TransformationInfo
的情況下建立 Viewfinder,且來源旋轉角度預設為 0,不會進行來源鏡射,也不會裁剪矩形。(I2b1b2)- 可組合項 Viewfinder 現在會採用結尾 lambda 來接收 Surface 工作階段,類似於
AndroidExternalSurface
。提供的 lambda 會使用ViewfinderInitScope
做為接收器,可安裝回呼來接收新的 Surface 工作階段。這些表面工作階段會在超出範圍時,自動釋放 Viewfinder 所持有的資源。(Ib2b0d) ViewfinderSurfaceRequest.Builder.populateFromCharacteristics
現已移除,並由等效的靜態 API 取代,可用於產生TransformationInfo
,產生結果與populateFromCharacteristics
相同。這些靜態方法會新增至Camera2TransformationInfo
類別。(Idc6af)。ViewfinderSurfaceRequest
不再包含用於擷取介面的非同步 API。此時為不可變資料類型。用於擷取 Surface 的 API 現已移至取景器。(I30127)。CameraViewfinder
已重新命名為ViewfinderView
,以便與 Viewfinder 可組合項的命名方式保持一致,並表示該可組合項可用於其他相機來源。(Id9e6b)。viewfinder-view
中的類別已從androidx.camera.viewfinder
套件移至androidx.camera.viewfinder.view
子套件。(I6cb44)。- 我們已在以檢視畫面為基礎的 Viewfinder 中新增了新的 API,可設定來源旋轉、鏡像和裁剪矩形。這個
TransformationInfo
類別與以 Compose 為基礎的 Viewfinder 使用的類別相同。(I907c3) - 以檢視畫面為基礎的 Viewfinder 現在使用新的
ViewfinderSurfaceRequest
API,不再在內部處理 Surface 回應。requestSurfaceSession()
API 現在會傳回ListenableFuture<ViewfinderSurfaceSession>
,而非ListenableFuture<Surface>
,ListenableFuture<ViewfinderSurfaceSession>
會傳回AutoCloseable
類別,當關閉時,其行為與呼叫ViewfinderSurfaceRequest.markSurfaceSafeToRelease()
的舊 API 相同。這樣一來,您就能更清楚地區分表面要求和表面回應的責任。(I19041)
1.4 版
1.4.0-alpha13 版本
2025 年 2 月 26 日
發布 androidx.camera.viewfinder:viewfinder-compose:1.4.0-alpha13
、androidx.camera.viewfinder:viewfinder-core:1.4.0-alpha13
和 androidx.camera.viewfinder:viewfinder-view:1.4.0-alpha13
。1.4.0-alpha13 版包含這些修訂項目。
1.4.0-alpha12 版
2025 年 1 月 15 日
發布 androidx.camera.viewfinder:viewfinder-compose:1.4.0-alpha12
、androidx.camera.viewfinder:viewfinder-core:1.4.0-alpha12
和 androidx.camera.viewfinder:viewfinder-view:1.4.0-alpha12
。1.4.0-alpha12 版包含這些修訂項目。
新功能
- 已將
compileSdk
升級為 35,以便使用 Android 15 相關 API。使用 CameraX 程式庫的應用程式也必須升級compileSdk
設定。(Ic80cd)。 - 這個程式庫現在使用 JSpecify 空值註解,這是類型用途。Kotlin 開發人員應使用下列編譯器引數,確保正確使用方式:
-Xjspecify-annotations=strict
(這是 Kotlin 編譯器 2.1.0 版起的預設值)。(I7bcd7、b/326456246)
1.4.0-alpha11 版本
2024 年 12 月 11 日
發布 androidx.camera.viewfinder:viewfinder-compose:1.4.0-alpha11
、androidx.camera.viewfinder:viewfinder-core:1.4.0-alpha11
和 androidx.camera.viewfinder:viewfinder-view:1.4.0-alpha11
。1.4.0-alpha11 版包含這些修訂項目。
API 變更
viewfinder-core
類別已移至與所屬程式庫一致的套件。(I431c6)。CameraViewfinder.ScaleType
已移至viewfinder-core
,因此可與 Compose 一併重複使用 (I87ef1)- 已移除淘汰的
CameraViewfinder
類別。請使用提供相同功能的新 API。(I6e59a)。
1.4.0-alpha10 版本
2024 年 10 月 30 日
發布 androidx.camera.viewfinder:viewfinder-compose:1.4.0-alpha10
、androidx.camera.viewfinder:viewfinder-core:1.4.0-alpha10
和 androidx.camera.viewfinder:viewfinder-view:1.4.0-alpha10
。1.4.0-alpha10 版包含這些修訂項目。
1.4.0-alpha09 版本
2024 年 10 月 2 日
發布 androidx.camera.viewfinder:viewfinder-compose:1.4.0-alpha09
、androidx.camera.viewfinder:viewfinder-core:1.4.0-alpha09
和 androidx.camera.viewfinder:viewfinder-view:1.4.0-alpha09
。1.4.0-alpha09 版包含這些修訂項目。
1.4.0-alpha08 版本
2024 年 9 月 4 日
發布 androidx.camera.viewfinder:viewfinder-compose:1.4.0-alpha08
、androidx.camera.viewfinder:viewfinder-core:1.4.0-alpha08
和 androidx.camera.viewfinder:viewfinder-view:1.4.0-alpha08
。1.4.0-alpha08 版包含這些修訂項目。
新功能
更新至 1.4.0-alpha08 後,CameraX 檢視器構件已移至專屬的程式庫群組。這項變更是為了改善 CameraX 程式庫的模組化和可維護性。
如果您先前依附 androidx.camera:camera-viewfinder
、androidx.camera:camera-viewfinder-compose
或 androidx.camera:camera-viewfinder-core
,就必須將依附元件轉換為以下項目:
androidx.camera:camera-viewfinder
->androidx.camera.viewfinder:viewfinder-view
androidx.camera:camera-viewfinder-compose
->androidx.camera.viewfinder:viewfinder-compose
androidx.camera:camera-viewfinder-core
->androidx.camera.viewfinder:viewfinder-core
您不需要變更程式碼即可完成這項轉換。舊版 Viewfinder Maven 座標將不再收到更新。
此外,如果您使用 Compose 搭配 CameraX,現在 Alpha 版中提供新的 Compose 優先程式庫:androidx.camera:camera-compose
。這會提供 CameraXViewfinder
可組合項,這是一種 Compose 慣用語法觀景窗,可將 CameraX 的 SurfaceRequest
調整為 Compose,類似於 PreviewView
如何為 View 運作。