@SuppressLint("CutPasteId") @Override public View onCreateView( LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View rootView = inflater.inflate(R.layout.fragment_recycler_view_common, container, false); xcRecycleView = (XCRecycleView) rootView.findViewById(R.id.xc_recycler_view); emptyView = new EmptyView(getContext()); headerView = new LinearLayout(getContext()); if (getActivity() instanceof HeaderViewProvider) { HeaderViewProvider headerViewProvider = (HeaderViewProvider) getActivity(); View view = new View(getContext()); headerView.addView( view, new LinearLayout.LayoutParams( ViewGroup.LayoutParams.MATCH_PARENT, headerViewProvider.getHeaderViewHeight())); } baseAdapter = getAdapter(); adapter = new HeaderRecyclerViewAdapter(getContext(), baseAdapter, headerView, emptyView); registerAdapterDataObserver(); xcRecycleView.setAdapter(adapter); xcRecycleView.setLayoutManager(getLayoutManager()); xcRecycleView.addOnScrollListener(onScrollListener); return rootView; }
@Override public void onScrolled(RecyclerView recyclerView, int dx, int dy) { super.onScrolled(recyclerView, dx, dy); scrollXValue += dx; scrollYValue += dy; if (getActivity() instanceof HeaderViewProvider) { HeaderViewProvider headerViewProvider = (HeaderViewProvider) getActivity(); if (scrollYValue < headerViewProvider.getHeaderViewHeight() + 400) { headerViewProvider.onHeadScrollHScrolled(scrollYValue); } } }