Android实现RecyclerView宽度变化动画

效果图

实现思路就是定义一个属性动画,在动画监听器中不断修改RecyclerView的宽度

            valueAnimator = ValueAnimator.ofInt(begin, recyclerView.getWidth() * 2);

            valueAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
                @Override
                public void onAnimationUpdate(@NonNull ValueAnimator valueAnimator) {
                    Log.e("YinTest_", "onAnimationUpdate getAnimatedValue=" + valueAnimator.getAnimatedValue());
                    LinearLayout.LayoutParams layoutParams = (LinearLayout.LayoutParams) recyclerView.getLayoutParams();
                    layoutParams.width = (int) valueAnimator.getAnimatedValue();
//                    layoutParams.height = LinearLayout.LayoutParams.MATCH_PARENT;
                    recyclerView.setLayoutParams(layoutParams);
                    recyclerView.setX((begin * 2 - layoutParams.width));

                }
            });
            valueAnimator.start();
//            recyclerView.getAdapter().notifyDataSetChanged();
            recyclerView.getAdapter().notifyItemRangeChanged(layoutManager.findFirstVisibleItemPosition(), 36);

完整Demo

https://download.csdn.net/download/y280903468/89871840

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值