Android关于ListView滑动相关

这篇博客介绍了如何在Android应用中实现ListView滑动后显示一个按钮,以便用户可以轻松将列表滚动回顶部。作者利用firstVisibleItem属性判断列表是否滑动,并通过动画效果使按钮出现。虽然按钮消失时存在短暂的无响应问题,但不影响整体功能。
摘要由CSDN通过智能技术生成

做公司项目,首页用的listview显示很多商品.产品的希望在用户滑动后有一个按钮能让列表回到顶部.

查阅了相关资料后,成功实现.

代码如下:

//为listview设置滚动监听
getListView().setOnScrollListener(new AbsListView.OnScrollListener() {
    @Override
    public void onScrollStateChanged(AbsListView view, int scrollState) {

    }

    @Override
    public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
        if(firstVisibleItem > 0) {
            ViewCompat.animate(viewButton).translationY(10).alpha(1).setDuration(200);
            viewButton.setVisibility(View.VISIBLE);
        }else
            ViewCompat.animate(viewButton).translationY(60).alpha(0).setDuration(200);
    }
});
关于listView的onScrollListener我就不多说啦,小伙伴们随便就能查到.

我是根据firstVisibleItem这个字段判断的,这个字段表示的listView当前显示出来的第一个item处于总数据的第几位.

很明显,如果不是第0位,肯定是列表滑动了,那么就通过动画让按钮出现.

按钮给监听让列表回到头部:

viewButton.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        getListView().smoothScrollToPosition(0);
    }
});
回到头部后就会触发else里的代码, 将按钮隐藏.

不过有一点小瑕疵,就是按钮消失需要一点时间,这个时候你要是点击按钮所在的位置,列表是没有反应的,不过无伤大雅,反正就不到1s而已.

如有错误,欢迎指正.

谢谢!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值