判断listview 各种滑动状态

举报
再见孙悟空_ 发表于 2022/01/13 23:55:23 2022/01/13
4.1k+ 0 0
【摘要】    /**      scrollState有三种状态,分别是SCROLL_STATE_IDLE、SCROLL_STATE_TOUCH_SCROLL、SCROLL_STATE_FLING      &nb...


  /**      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;
          }
         }
        });
  
 

文章来源: wukong.blog.csdn.net,作者:再见孙悟空_,版权归原作者所有,如需转载,请联系作者。

原文链接:wukong.blog.csdn.net/article/details/51750317

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

作者其他文章

评论(0

抱歉,系统识别当前为高风险访问,暂不支持该操作

    全部回复

    上滑加载中

    设置昵称

    在此一键设置昵称,即可参与社区互动!

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。