ScrollView向上滑动,改变菜单的透明度

来源:互联网 发布:淘宝情趣内衣产品模特 编辑:程序博客网 时间:2024/04/27 19:14
实现思路:自定义SlidingMenu,写一个接口,将其中的onScrollChanged(int x, int y, int oldX, int oldY)方法暴露出来,通过其中的y来判断,设置相应的透明度。
public class MyScrollView extends ScrollView{      public MyScrollView(Context context) {          super(context);      }      public MyScrollView(Context context, AttributeSet attrs) {          super(context, attrs);      }      public MyScrollView(Context context, AttributeSet attrs, int defStyle) {          super(context, attrs, defStyle);      }      public interface OnScrollChangedListener{          public void onScrollChanged(int x, int y, int oldxX, int oldY);      }      private OnScrollChangedListener onScrollChangedListener;      /**      *       * @param onScrollChangedListener      */      public void setOnScrollListener(OnScrollChangedListener onScrollChangedListener){          this.onScrollChangedListener=onScrollChangedListener;      }      @Override      protected void onScrollChanged(int x, int y, int oldX, int oldY){          super.onScrollChanged(x, y, oldX, oldY);          if(onScrollChangedListener!=null){              onScrollChangedListener.onScrollChanged(x, y, oldX, oldY);          }      }    }
在Activity中,设置监听,根据y值改变透明度。
    mMyScrollView.setOnScrollListener(new OnScrollChangedListener() {            @Override            public void onScrollChanged(int x, int y, int oldxX, int oldY) {                //自己设置有效的滑动距离,在此距离内改变透明度                if (y < 300) {                    view.setAlpha((float) y / 300.0f);                } else {                    view.setAlpha(1.0f);                }            }        });
0 0
原创粉丝点击