如何使工具栏隐藏/显示光滑的ListView滚动。安卓 [英] How to make Toolbar hide/show smooth on listview scroll. android

查看:242
本文介绍了如何使工具栏隐藏/显示光滑的ListView滚动。安卓的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我用这code为显示/隐藏工具栏上的ListView向下/向上滚动。

I am using this code for show/hide toolbar on listview down/up scroll.

brandListView.setOnScrollListener(new AbsListView.OnScrollListener() {
    int mLastFirstVisibleItem = 0;

    @Override
    public void onScrollStateChanged(AbsListView view, int scrollState) {
    }

    @Override
    public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
        if (view.getId() == brandListView.getId()) {
            final int currentFirstVisibleItem = brandListView.getFirstVisiblePosition();

            if (currentFirstVisibleItem > mLastFirstVisibleItem) {
                // getSherlockActivity().getSupportActionBar().hide();
                ((AppCompatActivity)getActivity()).getSupportActionBar().hide();
            } else if (currentFirstVisibleItem < mLastFirstVisibleItem) {
                // getSherlockActivity().getSupportActionBar().show();
                ((AppCompatActivity)getActivity()).getSupportActionBar().show();
            }

            mLastFirstVisibleItem = currentFirstVisibleItem;
        }
    }
});

虽然是隐藏/显示如预期的ListView,但转型并不是在所有顺畅。它的种类很突然轻弹样的效果。

Although it is hiding/showing listview as expected, but transition is not at all smooth. Its kind of very sudden flicking kind of effect.

任何一个可以帮助我,我怎么可以让它流畅。

Can any one help me how can i make it smooth.

推荐答案

尝试我的图书馆: RetractableToolbar

您在导入你的的build.gradle

compile 'it.michelelacorte.retractabletoolbar:library:1.0.0'

比你的活动类:

RetractableToolbarUtil.ShowHideToolbarOnScrollingListener showHideToolbarListener;
recyclerView.addOnScrollListener(showHideToolbarListener = new RetractableToolbarUtil.ShowHideToolbarOnScrollingListener(toolbar));

if (savedInstanceState != null) {
            showHideToolbarListener.onRestoreInstanceState((RetractableToolbarUtil.ShowHideToolbarOnScrollingListener.State) savedInstanceState
                    .getParcelable(RetractableToolbarUtil.ShowHideToolbarOnScrollingListener.SHOW_HIDE_TOOLBAR_LISTENER_STATE));
}

这是结果:

在这里输入的形象描述

编辑:

这是仅适用于 RecyclerView ,但我注意到,你需要一个的ListView ,那么你应该看看这个文件:<一href=\"https://github.com/michelelacorte/RetractableToolbar/blob/master/library/src/main/java/it/michelelacorte/retractabletoolbar/RetractableToolbarUtil.java\"相对=nofollow> RetractableToolbarUtil ,
修改以满足您的需求!

This is only for RecyclerView, but I noticed that you need a ListView then you should take a look at this file: RetractableToolbarUtil, modify it to fit your needs!

这篇关于如何使工具栏隐藏/显示光滑的ListView滚动。安卓的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆