listvie y轴 监听滑动距离

来源:互联网 发布:网络主播名字大全女 编辑:程序博客网 时间:2024/06/05 20:02
主要是滑动监听 
@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;}


0 0
原创粉丝点击