【问题标题】:Scroll gridview so a position is at the exact center滚动gridview,使位置位于确切的中心
【发布时间】:2015-01-15 14:46:59
【问题描述】:

我正在制作一个安卓应用,它使用GridView。我制作了一个搜索按钮,以便人们可以转到GridView 中的特定位置。 我目前正在使用:

gridview.smoothScrollToPosition(index);

但是这样不会将位置居中到GridView 的中间。
这就是我想要的插图:

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

【问题讨论】:

  • 您是否尝试过使用 setSelection(),我过去曾遇到过一些有关 smoothScrollToPosition() 的问题
  • 是的,但是你失去了漂亮的滚动动画......

标签: android gridview


【解决方案1】:

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

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

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

【讨论】:

    【解决方案2】:

    这可能是这个问题的重复: android: smoothScrollToPosition() not working correctly

    我之前在使用列表视图时遇到过这样的问题,我使用 setSelection() 来解决它。

    【讨论】:

    • 未修复,当我从底部开始滚动时,我的项目在顶部,当我从顶部开始滚动时,我的项目在底部。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-02-09
    • 2017-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-10
    相关资源
    最近更新 更多