判断listview 各种滑动状态

举报
再见孙悟空_ 发表于 2022/01/13 23:55:23 2022/01/13
【摘要】    /**      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是当用户由于之前划动屏幕并抬起手指,屏产生惯性滑动时*/


  
  1. private boolean scrollFlag = false;// 标记是否滑动
  2. private int lastVisibleItemPosition;// 标记上次滑动位置

  
  1. listView.setOnScrollListener(new OnScrollListener() {
  2. @Override
  3. public void onScrollStateChanged(AbsListView view, int scrollState) {
  4. switch (scrollState) {
  5. case SCROLL_STATE_TOUCH_SCROLL:
  6. scrollFlag = true;
  7. break;
  8. case SCROLL_STATE_FLING:
  9. scrollFlag = false;
  10. break;
  11. case SCROLL_STATE_IDLE:
  12. scrollFlag = false;
  13. break;
  14. default:
  15. break;
  16. }
  17. }
  18. @Override
  19. public void onScroll(AbsListView view, int firstVisibleItem,
  20. int visibleItemCount, int totalItemCount) {
  21. if (scrollFlag) {
  22. if (firstVisibleItem > lastVisibleItemPosition) {//上滑
  23. }
  24. if (firstVisibleItem < lastVisibleItemPosition) {//下滑
  25. }
  26. if (firstVisibleItem == lastVisibleItemPosition) {
  27. return;
  28. }
  29. lastVisibleItemPosition = firstVisibleItem;
  30. }
  31. }
  32. });

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

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

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

评论(0

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

全部回复

上滑加载中

设置昵称

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

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

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