字體:小 中 大 |
|
|
|
| 2026/09/21 11:36:40瀏覽443|回應0|推薦0 | |
現代的生活已是智慧型裝置的科幻日常,在顯示觸控 UI 的設計方面,優秀的開發者都通常會在舒適且良好操作體驗上有所琢磨,關鍵不外乎是加上動畫元素,UI 畫面是由多個不同的形狀、位置、大小、顏色、角度、陰影、透明度等屬性所構成,在 UI 操作的過程必需得讓相關的屬性交互連動,方能營造出所謂的舒適且良好操作體驗。 Jetpack Compose 本身已提供許多開箱即可用的積木(組件)供使用,所以要構建多個屬性的交互連動非常容易,但…戲法人人會變,巧妙各有不同,然而一個負責任的開發者還會考量到執行效能的。 以本篇的程式範例來說,必需具備位置、大小、顏色、角度之 4 個屬性同時連動,一般會定義 4 個 Animatable 或 animate*AsState 來交互運行,這樣的組成其背後表示有多個執行序與大量的資料要運算處理,所導致執行效能不佳而卡頓,為了將臃腫轉為輕量,所以我改以單一 Animatable 或 animate*AsState 來當作屬性交互連動的 Handle,再搭配 lerp 來達到多個屬性交互連動。 雖然目前 Jetpack Compose 剛新增了 Style API ,可以像 CSS 一樣方便且簡單的構建動態式的 UI,但目前還屬於實驗試用階段,原本剛釋出的 1.11.x 版用起來都挺好的,但從 1.12.x 版之後,在觸控點擊交互動畫時出現了不穩定顯示情形,所以 Style API 暫時不採用但觀望中。 |
|
| ( 知識學習|其他 ) |










