我已經實現了我自己的HorizontalListView
,我想用Scroller
來管理某些滾動事件,例如fl。。 Scroller
fling()
方法要求我提供組件的最大X和Y大小,所以我遇到了一些問題 - 計算列表大小的最佳方法是什麼?卷軸的最大列表大小
我已經想到的幾種方法:
1)最大值寬度等於列表倍的元素列表中的元素的數量的寬度。這個問題在於它們的寬度是可變的。
2)在初始佈局中創建列表的所有元素並計算最大寬度。這似乎非常低效。當孩子被添加到我的maxWidth
增加我的maxWidth
,並且當一個孩子被刪除時,遞減maxWidth
3)(我一直使用到現在爲止的方法)
。我一直在使用它來限制滾動到我的列表範圍 - 如果最後一個孩子還沒有被添加,那麼maxWidth
是無關的,一旦最後一個孩子被添加,它是準確的。問題是,當列表被拋出時,以這種方式計算的maxWidth
可能並不代表列表的實際最大大小。
其他建議?否則,我可能要實現自己一扔機制......根據您的評論
我可能會堅持使用您的方法編號1的平均大小。 – Budius
這不是一個好方法 - 不幸的是,從1個字符的TextViews到整個單詞,尺寸可能會有很大的不同。 – Catherine