精选案例

获取GridView的滑动距离

2016-03-16  本文已影响540人  litao0621

获取Gridview从开始到结束所经过的距离,滑动结束后调用

private int getScrollOffset(){
  //GridView行间距
  int mVerticalSpacing = your-vertical-spacing-in-dp;

  //item 偏移量
  int mOffset = mVerticalSpacing;

  //正值表示向上滑动,负值表示向下滑动
  //mScrollRows--滑动前后经过的行数
  //mOldFirstVisiblePosition--滑动前所显示的第一个item位置
  //numColumns--GridView 列数
  int mScrollRows =  (your-gridview.getFirstVisiblePosition()-mOldFirstVisiblePosition)/numColumns;

  //当前显示的第一个item
  View mFirstItem = container.getChildAt(0);

  //item高度
  int mItemHeight = mFirstItem.getHeight;

  if(null!=mFirstItem){
      mOffset -= mFirstItem.getTop();
  }

  return mScrollRows*mItemHeight+mOffset;
}
上一篇 下一篇

猜你喜欢

热点阅读