我已经实现了我自己的HorizontalListView
,我想用Scroller
来管理某些滚动事件,例如fl。。 Scroller
fling()
方法要求我提供组件的最大X和Y大小,所以我遇到了一些问题 - 计算列表大小的最佳方法是什么?卷轴的最大列表大小
我已经想到的几种方法:
1)最大值宽度等于列表倍的元素列表中的元素的数量的宽度。这个问题在于它们的宽度是可变的。
2)在初始布局中创建列表的所有元素并计算最大宽度。这似乎非常低效。当孩子被添加到我的maxWidth
增加我的maxWidth
,并且当一个孩子被删除时,递减maxWidth
3)(我一直使用到现在为止的方法)
。我一直在使用它来限制滚动到我的列表范围 - 如果最后一个孩子还没有被添加,那么maxWidth
是无关的,一旦最后一个孩子被添加,它是准确的。问题是,当列表被抛出时,以这种方式计算的maxWidth
可能并不代表列表的实际最大大小。
其他建议?否则,我可能要实现自己一扔机制......根据您的评论
我可能会坚持使用您的方法编号1的平均大小。 – Budius
这不是一个好方法 - 不幸的是,从1个字符的TextViews到整个单词,尺寸可能会有很大的不同。 – Catherine