首页 > 代码库 > 用Fragment实现Listview顶部停靠
用Fragment实现Listview顶部停靠
跟着xiechengfa一起做了几天android学了不少东西。过来总结下技术点。参考地址:猛击这里。我是很装逼,玩了半年android后面没有深挖技术,造成很多东西都反应比较慢,要深入学习了!!!
代码就少上了。还是多上效果图。效果图如下:
《用Fragment实现Listview顶部停靠,参考
StickyListHeaders》
参考地址:http://blog.csdn.net/xiechengfa/article/details/39005775
1.演示如上。
2.自动切换两个fragment(里面切换数据和
listview)
3.滑动到顶部,不再滑动了!!
4.自动消失顶部的导航菜单。再显示出Tab上的按钮
里面两个技术点。这个布局是用FrameLayout实现的。里面有层次关系。
最上面一层才是toplist 最里面的是fragment(也就是listview那一层===>headerViewLayout===>toptitle(外层)
就是最大的 覆盖面最大的在最里层。这个是个技术点。要深刻理会!
里面很多技术点可以挖。不过先满足效果。以后慢慢挖技术点。
@Override public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) { float headerMoveDistance = ViewHelper.getTranslationY(headerView); if (headerMoveDistance <= -headerContent.getHeight()) { iv_tabMore.setVisibility(View.VISIBLE); iv_tabBack.setVisibility(View.VISIBLE); ll_top.setVisibility(View.INVISIBLE); } else { iv_tabMore.setVisibility(View.INVISIBLE); iv_tabBack.setVisibility(View.INVISIBLE); ll_top.setVisibility(View.VISIBLE); } int scrollY = getScrollY(view); System.out.println("****************onScroll scrollY:" + scrollY + ",mMinHeaderTranslation:" + header_logo.getHeight() + ",end:" + Math.max(-scrollY, header_logo.getHeight())); ViewHelper.setTranslationY(headerView, Math.max(-scrollY, -headerContent.getHeight())); }
这句代码,就是判断你丫的滑动了多少。是不是到了顶部呢??如果到了顶部怎么办???就用ViewHelper怎么办?所以非常不错!
demo下载地址:点击打开链接猛击这里
用Fragment实现Listview顶部停靠
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。