头部悬停的recyclerView

好长一段时间没有写博客了,都有点手生了,看来坚持一件事情真的是挺不容易的,废话也不多说了,前段时间有个朋友问我,想要实现一个功能,类似于闲鱼首页的那种效果,头部选项栏向上滑动,选项栏悬停在顶部不被滑出屏幕外这样的效果,之前也做过类似的功能,不过用的是listview,listview用起来确实挺方便的,但是谷歌提供了更强大的recyclerview我们也应该与时俱进不是么。好了先不说废话了,先看看效果。


这个是未滑动的效果,再来看看滑动之后的效果。


先说下这种效果的思路吧,未滑动之前选项栏就是一个头部试图,也可以做成item多布局(就是在适配器中判断当item的position==0的时候,加载的是选项栏这个布局),然后在recyclerView的当前布局中也画一个一模一样的选项栏,不过这个选项栏需要在recyclerView的上面,父布局可以是帧布局或者相对布局,其实说到这里有的人应该都已经明白了,对,接下来只需要监听recyclerView的滑动让RecyclerView当前布局的选项栏显示隐藏就ok了。现在给大家贴上部分代码。

mEasyRecylerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
    @Override
    public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
        super.onScrollStateChanged(recyclerView, newState);
    }

    @Override
    public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
        super.onScrolled(recyclerView, dx, dy);
        RecyclerView.LayoutManager layoutManager = recyclerView.getLayoutManager();
        int currentposition= layoutManager.getPosition(layoutManager.getChildAt(0));
        if(currentposition>=1){
            ll_toolbar.setVisibility(View.VISIBLE);
        }else{
            ll_toolbar.setVisibility(View.GONE);
        }
    }
});

相信这段代码也很容易看懂,我也就不在阐述了。其他的代码我也就不往上面放了,因为基本上就是recyclerView的普通写法。












































评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值