NestScrollView滑动监听

本文介绍如何使用NestedScrollView在Android应用中实现随滚动距离变化的背景透明度效果。通过监听滚动事件,计算透明度值并动态调整背景颜色,达到平滑过渡的视觉体验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

mNestedScrollView = (NestedScrollView) findViewById(R.id.nested_scroll_view);
        re = (RelativeLayout) findViewById(R.id.re);
        final int height = re.getLayoutParams().height;
        mNestedScrollView.setOnScrollChangeListener(new NestedScrollView.OnScrollChangeListener() {
            // 将透明度声明成局部变量用于判断
            int alpha = 0;
            int count = 0;
            float scale = 0;
            @Override
            public void onScrollChange(NestedScrollView v, int scrollX, int scrollY, int oldScrollX, int oldScrollY) {

                if (scrollY <= height) {
                    scale = (float) scrollY / height;
                    alpha = (int) (255 * scale);
                    // 随着滑动距离改变透明度
                    // Log.e("al=","="+alpha);
                    re.setBackgroundColor(Color.argb(alpha, 255, 0, 0));
                } else {
                    if (alpha < 255) {
                        Log.e("执行次数", "=" + (++count));
                        // 防止频繁重复设置相同的值影响性能
                        alpha = 255;
                        re.setBackgroundColor(Color.argb(alpha, 255, 0, 0));
                    }
                }
            }

        });
--------------------- 
原文:https://blog.youkuaiyun.com/codesuperman1314/article/details/55002536 
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值