Ich habe ein Fragment unter Recycler Ansicht, wenn nach unten gescrollt, sollte das Fragment verschwinden, wenn nach oben gescrollt, sollte das FragmentVerwendung Animation nur einmal auf Scroll
wieder ich es implementiert, aber Problem ist, wenn ich nach unten scrollen eine wenig, die Fragment-Verschwinden-Animation findet statt, wenn ich weiter scrolle, erscheint sie wieder und die gleitende Animation tritt auf, aber ich möchte, dass sie bis zum nächsten Bildlauf verborgen bleibt.
Hier ist mein Code:
mRecyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
@Override
public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
super.onScrollStateChanged(recyclerView, newState);
Log.d("newstate",newState+"");
}
@Override
public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
super.onScrolled(recyclerView, dx, dy);
Log.d("dx",dx+"");
Log.d("dy",dy+"");
FragmentTransaction ft1 = getFragmentManager().beginTransaction();
ft1.setCustomAnimations(R.anim.entry, R.anim.exit);
ft1.show(bmfragment);
ft1.commit();
visibleItemCount = recyclerView.getChildCount();
totalItemCount = mLinearLayoutManager.getItemCount();
firstVisibleItem = mLinearLayoutManager.findFirstVisibleItemPosition();
if(dy<0) {
FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.setCustomAnimations(R.anim.entry, R.anim.exit);
ft.show(bmfragment);
ft.commit();
}else if(firstVisibleItem>=1)
{
FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.setCustomAnimations(0, R.anim.exit);
ft.hide(bmfragment);
ft.commit();
}
}
});