【Android 笔记】OnScrollListener详解

ListView是很常用的控件,相关的API想必大家都是很熟悉的。今天,记录一个滚动相关的接口OnScrollListener。以往,要实现手指触控相关的操作,首先想到的方案是,在onTouch里获取触控相关的信息,并进行相关的逻辑。往后,一些操作,或许可以放到OnScrollListener里实现。好,废话不多说。来详细看这个接口。

OnScrollListener
 public interface OnScrollListener {
     public static int SCROLL_STATE_IDLE = 0;
     public static int SCROLL_STATE_TOUCH_SCROLL = 1;
     public static int SCROLL_STATE_FLING = 2;

     public void onScrollStateChanged(AbsListView view, int scrollState);
     public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount,
               int totalItemCount);
 }

可以看到,OnScrollListener接口有三个静态滚动状态的变量,及两个要实现的方法。

onScrollStateChanged

滚动状态发生变化时,系统会回调这个方法。滚动状态会被赋值到scrollState,scrollState的值如下:

scrollState值含义
SCROLL_STATE_IDLE不滚动时的状态,通常会在滚动停止时监听到此状态
SCROLL_STATE_TOUCH_SCROLL正在滚动的状态
SCROLL_STATE_FLING用力快速滑动时可监听到此值
onScroll

滚动过程中会回调此方法。详细的参数含义:

onScroll方法参数含义
firstVisibleItem第一个可视的项,这里是整个item都可视的项。被挡住一点都不符合
visibleItemCount可视的项的个数
totalItemCount总item的个数
使用方法

直接通过setOnScrollListener就ok。

listView.setOnScrollListener(new AbsListView.OnScrollListener(){

            @Override
            public void onScrollStateChanged(AbsListView view, int scrollState) {

            }

            @Override
            public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {

            }
        });

ps: OnScrollListener还是很有用的,可以用来实现滑动加载和下拉刷新等,有空会整理出来,如何使用OnScrollListener实现下拉刷新和动态加载。

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值