android Listview头部带控件滑动距离的判断

网上有学多对listview的滑动距离和方向的判断

其中滑动距离可参考文章

http://blog.csdn.net/c19344881x/article/details/50543969

滑动方向可参考

http://blog.csdn.net/wangbaochu/article/details/45503605

在对该代码分析过程中觉得代码过于复杂,于是想到可以通过控件距离屏幕的距离来获取滑动距离

先给listView头部加一个控件

 final View v = inflaters.inflate(R.layout.XXX, null,false);
        getListView().addHeaderView(v);
如果该布局里面有个View在最上方


    public final int  IS_VISIBLE_HEADER = 57;
 getListView().setOnScrollListener(new AbsListView.OnScrollListener() {
            @Override
            public void onScrollStateChanged(AbsListView view, int scrollState) {

            }

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

                if(headerText.getLocationOnScreen()[1]<IS_VISIBLE_HEADER){

                    // todo
                }else{
                   // todo
                }
            }
        });

其中,getLocationOnScreen()[1]代表Y方向的距离,该值就可以当成滑动距离
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章