我知道我应该根据密度确定多少像素..而不是硬编码。
我在滚动视图中显示了部分标题和项目,我想滚动到某个部分标题(当前日期的标题),同时明确表示它不是屏幕的顶部(显示约一半的上一项)。
我该怎么做?我不希望这个自动滚动动画。
答案 0 :(得分:3)
使用View.requestRectangleOnScreen(),您可以滚动显示特定的矩形(链接的方法允许禁用动画)。您仍然需要计算该矩形,但是一旦您拥有特定子项(您的标题)的位置,您就可以轻松地获得ScrollView的大小。您可以在计算该矩形时考虑所需的小偏移,或者在scrollBy()
之后只考虑requestRec....()
(我认为以前的方式更好)。
使用与密度无关的维度的一种简单方法是将其在xml中定义为dimension resource。
- 编辑:您通过getLeft()
/ getTop()
获取父母的父母位置。