【发布时间】:2015-02-17 00:19:37
【问题描述】:
我在 Android 的 ListFragment 中使用工具栏,并且可以在滚动期间隐藏/显示它。我implement AbsListView.OnScrollListener 并在里面使用这段代码:
@Override
public void onScroll(AbsListView view, int firstVisibleItem,
int visibleItemCount, int totalItemCount) {
// Leave this empty
}
/**
* Method to detect if the scroll status changed
*
* @param listView
* @param scrollState
*/
@Override
public void onScrollStateChanged(AbsListView listView, int scrollState) {
if (!isTablet) {
final int currentFirstVisibleItem = listView.getFirstVisiblePosition();
if (currentFirstVisibleItem > mLastFirstVisibleItem) {
((ActionBarActivity) getActivity()).getSupportActionBar().hide();
} else if (currentFirstVisibleItem < mLastFirstVisibleItem) {
((ActionBarActivity) getActivity()).getSupportActionBar().show();
}
mLastFirstVisibleItem = currentFirstVisibleItem;
}
}
这样,当我向下滚动时工具栏会被隐藏,如果向上滚动则会显示。但是动画非常“硬”,我希望有一个更平滑的过渡。它应该看起来像这样(没有标签,只有工具栏):https://cms-images.idgesg.net/images/article/2014/10/playscroll-100509755-large.gif
【问题讨论】:
标签: android android-listview material-design android-toolbar onscrolllistener