android个人笔记之listview-SCROLL_STATE 滑动状态

listview的状态理解

  • SCROLL_STATE_TOUCH_SCROLL
    状态的意思为当手点击屏幕准备滑动时
    该状态可以用来做一些header view和footer view的visible的改变。因为假如不在这个状态改变visible的话,在滑动到边缘时,listview会忽视header view和footer view的高度。意思就是listview得到的消息就是我已经滑到边缘了。谁让你不在我画之前告诉我具体view的visible,哈哈!

    具体代码位置是
    AbsListView.class -> onTouchView(MotionEvent ev) ->
    onTouchMove(MotionEvent ev, MotionEvent vtev) ->
    startScrollIfNeeded(int x, int y, MotionEvent vtev)->
    scrollIfNeeded(int x, int y, MotionEvent vtev) ->
    trackMotionScroll(deltaY, incrementalDeltaY)
    在trackMotionScroll 的开始处会获得整个listview的高度
    final int firstTop = getChildAt(0).getTop();
    final int lastBottom = getChildAt(childCount - 1).getBottom();
    在startScrollIfNeeded方法中调用
    reportScrollStateChange(OnScrollListener.SCROLL_STATE_TOUCH_SCROLL);
    通知状态改变了

  • SCROLL_STATE_IDLE
    状态的意思时listview touch事件结束时调用


ITElephant Plan

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值