五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

Jetpack Compose 實現(xiàn)臨時用的滾輪選擇器 (WheelPicker)

2022-12-20 19:49 作者:-l0_0l-  | 我要投稿

目錄

在使用過 MIUI 13 鬧鐘中時間的滾動選擇后,感覺 Jetpack 自帶的「TimePickerDialog」使用起來也不是很順手, 于是想找一下有沒相關(guān)的實現(xiàn)。不過,列表選擇器倒有,可循環(huán)的滾輪選擇器貌似沒見著。無奈之下,只能自己嘗試 弄一個出來。雖然只懂一些 Jetpack 皮毛,但也就自己用,效率什么的不需要考慮。

最終,弄出來的也的確只能湊合著用,遠(yuǎn)不到項目可用的地步。

1. 實現(xiàn)「環(huán)形數(shù)組」(circular array)

略過,主要就 取余

2. 檢測手指滑動

  • Modifier.draggable : 獲取偏移

  • Modifier.offset : 控件位置偏移

3. 顯示

  • Modifier.clipScrollableContainer(Orientation.Vertical) : 超出 Layout 范圍的裁剪掉

使用 Layout 控制子控件位置(實際顯示會隱藏掉兩個),以及獲取子控件大小

到這一步,可以算得上是可用了,就差動畫和慣性滑動。

4. 動畫(實現(xiàn)過程不推薦)

由于采用 環(huán)形數(shù)組 的原因,想要每幀判斷一下是否需要更新數(shù)組。不過沒找到相關(guān)的用例, 只好在 Jetpack Recomposition 的時候更新數(shù)組。

  • Animatable.snapTo : 滑動中直接設(shè)置偏移

  • Animatable.animateTo : 慣性滑動

5. 代碼

5.1. 環(huán)形數(shù)組


5.2. 滾輪選擇器


Jetpack Compose 實現(xiàn)臨時用的滾輪選擇器 (WheelPicker)的評論 (共 條)

分享到微博請遵守國家法律
肃北| 永新县| 微博| 天津市| 沂源县| 如东县| 盈江县| 苏尼特左旗| 南平市| 日喀则市| 岳阳市| 南涧| 金沙县| 岳普湖县| 泸州市| 黔西| 新津县| 界首市| 福州市| 东明县| 房山区| 北川| 辉县市| 天气| 龙川县| 伊春市| 锦州市| 安龙县| 营口市| 定远县| 老河口市| 朔州市| 辰溪县| 高邑县| 大冶市| 泾川县| 虹口区| 迁安市| 深水埗区| 东乌珠穆沁旗| 米易县|