滚动gridview,使位置位于确切的中心

时间:2015-01-15 14:47:00

标签: android gridview

我正在创建一个Android应用,它使用GridView。我创建了一个搜索按钮,以便人们可以在GridView中找到一个特殊的位置。 我目前正在使用:

gridview.smoothScrollToPosition(index);

但是,这并不是将位置置于GridView的中间位置 这就是我想要的例子:
enter image description here

实际上问题是GridView从正确的项目可见时停止滚动。这意味着在向上或向下滚动时它会有不同的位置。

2 个答案:

答案 0 :(得分:1)

我有类似的问题,所以我手动计算它。 v是要集中的视图:

   Rect rect = new Rect();
   mMediaGridView.getGlobalVisibleRect(rect);

   mMediaGridView.smoothScrollBy(v.getBottom()  - mMediaGridView.getScrollY()-rect.centerY()+v.getHeight()/2, 200);

答案 1 :(得分:0)

这可能与此问题重复: android: smoothScrollToPosition() not working correctly

我之前使用listviews遇到过这样的问题,我使用setSelection()来解决它。

相关问题