Parallax RecyclerViewScrolling
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
final View parallaxAppBar = rootView.findViewById(R.id.parallax_appbar);
if (parallaxAppBar != null) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
@TargetApi(Build.VERSION_CODES.HONEYCOMB)
@Override
public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
super.onScrolled(recyclerView, dx, dy);
int max = parallaxAppBar.getHeight();
if (dy > 0) {
parallaxAppBar.setTranslationY(Math.max(-max, parallaxAppBar.getTranslationY() - dy / 2));
} else {
parallaxAppBar.setTranslationY(Math.min(0, parallaxAppBar.getTranslationY() - dy / 2));
}
}
});
}
}
}
@Override
public void onDestroy() {
super.onDestroy();
if (recyclerView != null) {
recyclerView.clearOnScrollListeners();
}
}