我一直想创建一个ScrollView
,可以根据孩子大小的变化调整当前的滚动位置。因此,如果我的用户一次滚动,比如孩子高度的75%,那么当它增加/减少时,它们仍然会达到孩子更新高度的75%。
要做到这一点,显然我的ScrollView
需要知道其子级大小何时更新。这看起来似乎是一项微不足道的任务,但不幸的是,到目前为止我尝试过的每一种方法都没有结果:
OnLayoutChangeListener
onLayout()
onSizeChanged()
onScrollChanged()
所有这些都会报告ScrollView
本身的尺寸变化;不是它的孩子。这些信息对我来说没用,因为我的ScrollView
不应该改变大小。
非常感谢任何反馈。
p.s。 ,据我所知this answered question看起来与我的相似。但是我的案例不需要ScrollView
本身以外的其他组件的干预,而上述问题需要外部实体(可能是ScrollView
)通知Activity
。