向下滚动ListView时显示按钮
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了向下滚动ListView时显示按钮相关的知识,希望对你有一定的参考价值。
我在屏幕底部添加了一个Button
。这是一个“Go To Top”按钮。当用户位于列表的顶部,即第一行时,我想隐藏它,并在向下滚动到第二行时显示它。
我可以将滚动侦听器添加到ListView。但我不知道如何检查行号
谁能提供一个如何实现它的例子?
答案
你可以使用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:向上滚动时显示工具栏(向上拖动),向下滚动时隐藏(向下拖动)