3
下面我有回收站视图中的片段,当向下滚动,该片段应消失,当向上滚动,该片段应重新出现使用动画只有一次上滚动
我实现它,但问题是,当我向下滚动很少,碎片消失的动画发生,当我进一步滚动时,它会重新出现,并且会出现向下滑动动画,但是我希望它会保持隐藏状态,直到下一个向上滚动。
这里是我的代码:
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();
}
}
});