您的位置:首页 > 其它

对ListView滚动状态的监听

2015-05-30 09:16 330 查看
有的时候,我们需要对ListView滚动做一个相应的监听事件,例如:要实现如下图通讯录的功能:



思路为:首先呢,中间那个"路"字为一个TextView,它与ListView采用相对布局的布局风格,当我们滑动ListView的时候

控制其显示,当ListView停止的时候就让其消失。

首先呢,ListView的滚动有三种状态

第一是静止状态,SCROLL_STATE_IDLE

第二是手指滚动状态,SCROLL_STATE_TOUCH_SCROLL

第三是手指不动了,但是屏幕还在滚动状态。SCROLL_STATE_FLING

下面是ListView滚动时的响应代码:

[java] view
plaincopy

<span style="font-size:18px">//响应ListView的滚动状态</span>  

[java] view
plaincopy

<span style="font-size:18px">getListView().setOnScrollListener(new OnScrollListener() {  

<span style="white-space:pre">  </span>int listViewScrollState;  

              

    /** 

     * ListView的状态改变时触发 

     * @param view 

     * @param scrollState 

     */  

    @Override  

    public void onScrollStateChanged(AbsListView view, int scrollState) {  

    <span style="white-space:pre">  </span>listViewScrollState = scrollState;  

        switch(scrollState){  

        case OnScrollListener.SCROLL_STATE_IDLE://空闲状态  

                      

        <span style="white-space:pre">  </span>break;  

        case OnScrollListener.SCROLL_STATE_FLING://滚动状态  

              

            break;  

        case OnScrollListener.SCROLL_STATE_TOUCH_SCROLL://触摸后滚动  

                  

            break;  

        }  

    }  

  

    /** 

     * 正在滚动 

     * firstVisibleItem第一个Item的位置 

     * visibleItemCount 可见的Item的数量 

     * totalItemCount item的总数 

     */  

    @Override  

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

        //控制显示和隐藏的代码...  

    }  

});</span>  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: