【发布时间】:2015-03-26 08:31:28
【问题描述】:
所以现在当我向下滚动时,它会隐藏工具栏和浮动底部,直到我碰到下一个视图项的顶部边缘。所有隐藏的东西都会出现一毫秒,然后又回到隐藏状态,即使我只是向下滚动。
有什么建议吗?
mListView.setOnScrollListener(new AbsListView.OnScrollListener() {
private int mLastFirstVisibleItem;
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
}
@Override
public void onScroll(AbsListView view, int firstVisibleItem,
int visibleItemCount, int totalItemCount) {
Animation fadeIn = AnimationUtils.loadAnimation(getActivity().getApplicationContext(), R.anim.fade_in);
Animation fadeOut = AnimationUtils.loadAnimation(getActivity().getApplicationContext(), R.anim.fade_out);
if(mLastFirstVisibleItem != firstVisibleItem) {
if (mLastFirstVisibleItem < firstVisibleItem) {
bottomBar.startAnimation(fadeOut);
bottomBar.setVisibility(View.GONE);
fab.startAnimation(fadeOut);
fab.hide(true);
}
else {
bottomBar.startAnimation(fadeIn);
bottomBar.setVisibility(View.VISIBLE);
fab.startAnimation(fadeIn);
fab.show(true);
}
}
mLastFirstVisibleItem = firstVisibleItem;
}
});
【问题讨论】:
-
使fadeIn 和fadeOut 动画类可访问,并在类初始化时加载它们。每次滚动时加载它们非常昂贵,并且肯定会显着减慢速度