美文网首页
ScrollView的滑动渐变效果

ScrollView的滑动渐变效果

作者: MengkZhang | 来源:发表于2019-06-14 22:31 被阅读0次

    原理:主要是在ScrollView滑动的时候,计算Y轴偏移量的值y,然后float alpha = (float) y / height(图片或视频的高度值);
    mTitle.setAlpha(alpha);

    1,自定义可滑动的ObservableScrollView

    public class ObservableScrollView extends ScrollView {
    
        private ScrollViewListener scrollViewListener = null;
    
        public ObservableScrollView(Context context) {
            super(context);
        }
        public ObservableScrollView(Context context, AttributeSet attrs,
                                    int defStyle) {
            super(context, attrs, defStyle);
        }
        public ObservableScrollView(Context context, AttributeSet attrs) {
            super(context, attrs);
        }
        public void setScrollViewListener(ScrollViewListener scrollViewListener) {
            this.scrollViewListener = scrollViewListener;
        }
        @Override
        protected void onScrollChanged(int x, int y, int oldx, int oldy) {
            super.onScrollChanged(x, y, oldx, oldy);
            if (scrollViewListener != null) {
                scrollViewListener.onScrollChanged(this, x, y, oldx, oldy);
            }
        }
        public interface ScrollViewListener {
            void onScrollChanged(ScrollView scrollView, int x, int y, int oldx, int oldy);
        }
    }
    

    2,计算偏移量实现效果

    mScrollView.setScrollViewListener(new ObservableScrollView.ScrollViewListener() {
                @Override
                public void onScrollChanged(ScrollView scrollView, int x, int y, int oldx, int oldy) {
                    Log.e("===z","偏移量 = " + y);
                    //计算偏移量
                    int height = mImageView.getHeight();
                    if (y <= height) {
                        float alpha = (float) y / height;
                        mTitle.setAlpha(alpha);
                    } else {
                        //将标题栏的颜色设置为完全不透明状态
                        mTitle.setAlpha(1.0f);
                    }
                }
            });
    

    代码

    相关文章

      网友评论

          本文标题:ScrollView的滑动渐变效果

          本文链接:https://www.haomeiwen.com/subject/jpimfctx.html