总得来说就是要停靠的部分,等到它滑动到页面最上方的时候,原本隐藏的控件(和你要停靠的一样效果的控件)显示在页面顶部,以前做这个都没有实现很自然的停靠效果,现在终于找到原因了,listview的滑动监听如下:
listView.setOnScrollListener(new AbsListView.OnScrollListener() { public void onScrollStateChanged(AbsListView view, int scrollState) { //监听滑动状态改变 } @Override public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) { //滑动过程中的监听 } });
以前写的就是在onScrollStateChanged()里面去监听的,这样只有手指滑动停止的时候才会出现变化,效果很明显,用户体验不好,应该在onScroll()里面去监听,这样滑动过程中就会变化,很自然的效果。
停靠的实现:
<FrameLayout xmlns: