向下滚动ListView时显示按钮

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了向下滚动ListView时显示按钮相关的知识,希望对你有一定的参考价值。

我在屏幕底部添加了一个Button。这是一个“Go To Top”按钮。当用户位于列表的顶部,即第一行时,我想隐藏它,并在向下滚动到第二行时显示它。

我可以将滚动侦听器添加到ListView。但我不知道如何检查行号

谁能提供一个如何实现它的例子?

答案

你可以使用setOnScrollListener

setOnScrollListener

设置每次滚动列表时都会收到通知的侦听器。

示例代码

listview.setOnScrollListener(new AbsListView.OnScrollListener() {
        @Override
        public void onScrollStateChanged(AbsListView view, int scrollState) {


        }

        @Override
        public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {

            // add here your logic like this
            int lastItem = firstVisibleItem + visibleItemCount;
            if (firstVisibleItem < 2) {

                fab.setVisibility(View.INVISIBLE);
            }else {
                fab.setVisibility(View.VISIBLE);
            }
        }
    });
另一答案

你可以尝试这样的事情

Find out if ListView is scrolled to the bottom?

private int preLast;
// Initialization stuff.
yourListView.setOnScrollListener(this);

// ... ... ...

@Override
public void onScroll(AbsListView lw, final int firstVisibleItem,
        final int visibleItemCount, final int totalItemCount)
{

    switch(lw.getId()) 
    {
        case R.id.your_list_id:     

            // Make your calculation stuff here. You have all your
            // needed info from the parameters of this function.

            // Sample calculation to determine if the last 
            // item is fully visible.
            final int lastItem = firstVisibleItem + visibleItemCount;

            if(lastItem == totalItemCount)
            {
                if(preLast!=lastItem)
                {
                    //to avoid multiple calls for last item
                    Log.d("Last", "Last");
                    preLast = lastItem;
                }
            }
    }
}

以上是关于向下滚动ListView时显示按钮的主要内容,如果未能解决你的问题,请参考以下文章

Android:向上滚动时显示工具栏(向上拖动),向下滚动时隐藏(向下拖动)

向下滚动时隐藏导航栏并在用户使用 jquery 向上滚动页面时显示它,不能正常工作

在 ListView 上向上滚动时显示 ActionBar

向下滚动时隐藏标题,向上滚动时显示

向下滚动Angular时显示导航栏

Android sqlite数据库-如何在滚动结束时显示列表视图添加 "加载更多项目"。