2021 鐵人賽 一天一腳步,30天學會 Android Compose UI!
今年的疫情蠻嚴重的,希望大家都過得安好,希望疫情快點過去,能回到一些線下技術聚會的時光~
今天目標:了解 Compose UI 上 的 Gestures 是怎麼作用的。
今天要研究的部分也是手勢,會講解拖與多點觸控的實作。
拖移
可以看到 offsetX 就是記錄這個 UI 元件的 x 軸變數, DragBox 的 offsetY則是 y 軸的變數,然後在使用者觸發 draggable 與 pointerInput 的函式中去不斷的更新 這兩個數值,就完成了拖移的功能。
swipe
宣告完就可以左右滑動,也是很方便的元件
但是一樣是實驗性功能,使用上要考慮未來API修改的可能性。
多點觸控
只要按照參考資料的程式碼貼上去後就能看到這個 Demo了,可以透過兩個以上觸碰點位的距離變化完成旋轉,放大縮小、跟位移。
研究到這邊的時候,我覺得 Compose UI 真的幫忙處理掉了許多以前自己寫 Android的 Touch Event的困難點,覺得以後實作這些功能,初期應該會容易很多。
不過比較客製化的 UI,大概還是要開發者自己想辦法處理囉:)
今天研究完了手勢實作的部分,都會的話就明天見囉:)
參考資料:https://developer.android.com/jetpack/compose/gestures
本文同步發表在 iT邦幫忙 上 文章連結