ScrollWebView的滑动距离显示内容

来源:互联网 发布:ggplot 和 python 编辑:程序博客网 时间:2024/05/21 05:40

做项目的时候有个这样的效果,页面的内容滑动一段距离以后,标题栏显示标题内容和头像。这个效果正常的WebView是达不到的,这时候就需要自定义可滑动的WebView了。下面看下滑动Webview的代码。

public class ScrollWebView extends WebView{private OnScrollChangedCallback mOnScrollChangedCallback;public ScrollWebView(Context context) {super(context);}public ScrollWebView(Context context, AttributeSet attrs) {super(context, attrs);}public ScrollWebView(Context context, AttributeSet attrs, int defStyleAttr) {super(context, attrs, defStyleAttr);}@Overrideprotected void onScrollChanged(int l, int t, int oldl, int oldt) {super.onScrollChanged(l, t, oldl, oldt);if (mOnScrollChangedCallback != null) {            mOnScrollChangedCallback.onScroll(l - oldl, t - oldt);                        mOnScrollChangedCallback.onScrollY(t);        }}  public OnScrollChangedCallback getOnScrollChangedCallback() {        return mOnScrollChangedCallback;    }     public void setOnScrollChangedCallback(            final OnScrollChangedCallback onScrollChangedCallback) {        mOnScrollChangedCallback = onScrollChangedCallback;    }  /**     * Impliment in the activity/fragment/view that you want to listen to the webview     */    public static interface OnScrollChangedCallback {        public void onScroll(int dx, int dy);                public void onScrollY(int y);    }}

这时候在webview的控制中就可以写了

webView.setOnScrollChangedCallback(new OnScrollChangedCallback() {
@Override
public void onScroll(int dx, int dy) {


}


@Override
public void onScrollY(int y) {
if (y > 200) {
if (title.getVisibility() != View.VISIBLE) {
title.setVisibility(View.VISIBLE);
img_source.setVisibility(View.VISIBLE);
}
} else {
if (title.getVisibility() == View.VISIBLE) {
title.setVisibility(View.GONE);
img_source.setVisibility(View.GONE);
}
}
Log.i("zst", "y=====" + y);
}
});

原创粉丝点击