Android "smoother"滚动时工具栏隐藏

标签 android android-listview material-design android-toolbar onscrolllistener

我在 Android 的 ListFragment 中使用工具栏,可以在滚动期间隐藏/显示它。我实现 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

最佳答案

我使用这个库解决了这个问题:https://github.com/ksoichiro/Android-ObservableScrollView

我修改了 ToolbarControlListView 示例,现在我有一个流畅的动画。因此,我还必须更改不包含 FrameLayout 作为父级的 ListView 的布局文件。看看 GitHub 中的示例!

关于Android "smoother"滚动时工具栏隐藏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27542739/

相关文章:

css - 如何调和 Font-Awesome 和 Material Design 图标字体?

android - 带有 AppCompat 主题的日期选择器对话框

android ListView 可点击问题

带阴影的 Android 圆形按钮

Android 在所有 Activity 中使用相同的按钮和 ListView

java - 首先将 ListView 项目添加到列表底部

android - 新的 android 支持设计库,屏幕外滚动 tablayout 不工作

java - Android 蓝牙检测设备何时连接问题

android - 如果折叠,则在 backPressed 时工具栏消失

android - TextView 和 TextViewCompat 有什么区别