主要是滑动监听@Override public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) { L.d(TAG,"监听条目的显示状态++--"+firstVisibleItem); if (firstVisibleItem<2){ mTopBarBg.setAlpha(0.0f); }else { mTopBarBg.setAlpha(1.0f); } mCurrentfirstVisibleItem = firstVisibleItem; View firstView = view.getChildAt(0); if (null != firstView) { ItemRecod itemRecord = (ItemRecod) recordSp.get(firstVisibleItem); if (null == itemRecord) { itemRecord = new ItemRecod(); } itemRecord.height = firstView.getHeight(); itemRecord.top = firstView.getTop(); recordSp.append(firstVisibleItem, itemRecord); } L.d(TAG, "滑动距离getScrollY()="+getScrollY()); } });
/** * 滑动距离 * @return */ private int getScrollY() { int height = 0; for (int i = 0; i < mCurrentfirstVisibleItem; i++) { ItemRecod itemRecod = (ItemRecod) recordSp.get(i); if (itemRecod != null) { height += itemRecod.height; } } ItemRecod itemRecod = (ItemRecod) recordSp.get(mCurrentfirstVisibleItem); if (null == itemRecod) { itemRecod = new ItemRecod(); } return height - itemRecod.top; } public class ItemRecod { int height = 0; int top = 0; }
listvie y轴 监听滑动距离
最新推荐文章于 2023-01-13 10:14:29 发布