【问题标题】:Android "smoother" hiding of Toolbar when scrolling滚动时工具栏的Android“更平滑”隐藏
【发布时间】: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


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多