HeaderViewPager
HeaderViewPager copied to clipboard
具有共同头部的 ViewPager,支持与ListView,GridView,ScrollView,WebView,RecyclerView 嵌套使用。具有连续的滑动事件 和 滑动监听, 支持下拉刷新。
这个主要是由于isRecyclerViewTop此方法做判断时由于一些情况下顶部距离可能不为0时导致滑动可能不会触发向下滑动 所以需要固定配置,因人而异配置方法可能不同我的配置方法是: 加一个顶部偏移值 先修改这个HeaderScrollHelper类下的方法: ``` /** * 顶部偏移值,主要是给isRecyclerViewTop此方法做判断时由于一些情况下顶部距离可能不为0 所以需要固定配置 */ private int topOffsetHeight = 0; ``` 修改滑动内容适配器: ``` public void setCurrentScrollableContainer(ScrollableContainer scrollableContainer, int topOffsetHeight) { this.mCurrentScrollableContainer = scrollableContainer; this.topOffsetHeight =...
滑动冲突
如果viewpager中每个fragment的数据都是动态获取的,RecyclerView的滑动就和外面的冲突了
private boolean isRecyclerViewTop(RecyclerView recyclerView) { if (recyclerView != null) { RecyclerView.LayoutManager layoutManager = recyclerView.getLayoutManager(); if (layoutManager instanceof LinearLayoutManager) { int firstVisibleItemPosition = ((LinearLayoutManager) layoutManager).findFirstVisibleItemPosition(); View childAt = recyclerView.getChildAt(0); if (childAt...
private class HeaderAdapter extends PagerAdapter { @Override public Object instantiateItem(ViewGroup container, final int position) { ImageView imageView = new ImageView(AircraftInfoActivity.this.getApplicationContext()); imageView.setScaleType(ImageView.ScaleType.CENTER_CROP); // imageView.setImageResource(images[position]); if (imagesUrl.size() > 0) { Glide.with(AircraftInfoActivity.this) .load(imagesUrl.get(position))...
作者你好,如题,HeaderScrollHelper中的isTop()是否可以稍微开放点,比如我是用的RecyclerView,但是LayoutManager是用的GridLayoutManager,而库中只对LinearLayoutManager做了判断,其他的都是返回false。建议是否可以在接口ScrollableContainer中添加一个方法:isTop( ),让我们自己可以在对应的页面给你返回一个值
耦合性太高,扩展一点东西就挂了