判断listview 各种滑动状态



  /**      scrollState有三种状态,分别是SCROLL_STATE_IDLE、SCROLL_STATE_TOUCH_SCROLL、SCROLL_STATE_FLING
        SCROLL_STATE_IDLE是当屏幕停止滚动时
        SCROLL_STATE_TOUCH_SCROLL是当用户在以触屏方式滚动屏幕并且手指仍然还在屏幕上时
        SCROLL_STATE_FLING是当用户由于之前划动屏幕并抬起手指,屏产生惯性滑动时*/

  private boolean scrollFlag = false;// 标记是否滑动
  private int lastVisibleItemPosition;// 标记上次滑动位置
  listView.setOnScrollListener(new OnScrollListener() {
   @Override
   public void onScrollStateChanged(AbsListView view, int scrollState) {
    switch (scrollState) {
     case SCROLL_STATE_TOUCH_SCROLL:
      scrollFlag = true;
     break;
     case SCROLL_STATE_FLING:
      scrollFlag = false;
      break;
     case SCROLL_STATE_IDLE:
      scrollFlag = false;
      break;
     default:
      break;
    }
   }
   
   @Override
   public void onScroll(AbsListView view, int firstVisibleItem,
     int visibleItemCount, int totalItemCount) {
    if (scrollFlag) {
     if (firstVisibleItem > lastVisibleItemPosition) {//上滑
     }
     if (firstVisibleItem < lastVisibleItemPosition) {//下滑
      
     }
     if (firstVisibleItem == lastVisibleItemPosition) {
      return;
     }
     lastVisibleItemPosition = firstVisibleItem;
    }
   }
  });

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

再见孙悟空_

你的鼓励将是我最大的动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值