在滚动视图中查看位置

时间:2013-06-17 15:25:12

标签: android

我有一个包含多个线性布局的滚动视图。每个线性布局都包含一些图像,并且在点击图像时,会显示一些细节,并在其下方打开一个框,如下图所示。

enter image description here

enter image description here

单击特定图像时,我想将该行滚动到滚动视图中的最顶部位置。例如。在上面的图像中点击H& R我希望它出现在屏幕的顶部,以便用户可以完全阅读内容。我的想法是在创建视图时在滚动视图中获取所有线性布局位置,并滚动到所选行,使其显示在顶部。我试过了

getLocationOnScreen(location); 
view.getTop()

它总是返回0.我错过了这里的东西。或者是否有其他方法可以实现相同的目标。有人可以提供一些意见。

1 个答案:

答案 0 :(得分:1)

我通过获取每一行的位置来解决这个问题,当用户点击某一特定行时,我会滚动到该位置,如下面的代码所示

    scrollView.post(new Runnable() {
                    @Override
                    public void run() {
                    scrollView.scrollTo(0, locationCorrespondingToTheSelectedRow));
                    }
                    });

不是最好的方法,但在我的情况下,因为屏幕是静态硬编码,所以位置不是问题。