关闭全屏视图后,Android WebView Video,webview自动滚动 [英] Android WebView Video after closing fullscreen view, webview auto scrolls

查看:334
本文介绍了关闭全屏视图后,Android WebView Video,webview自动滚动的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用WebView来显示包含文本和视频内容的网页.

I am using WebView to display a webpage having text as well as video content.

加载并加载按预期正确显示视频.

It loads & display video correctly as expected.

但是当我转到视频的全屏视图时(我按照给定的 此处 ),然后返回WebViewWebView自动滚动.

But when I go to full screen view of video ( I implemeted full screen video view as given here ) and then come back to WebView, WebView autoscroll in some amount.

我该如何解决?

请提出一些想法/链接.

Please suggest some idea/link.

推荐答案

我已经在使用兼容的ScrollChangedListener.因此,我决定在onHideCustomView之后的一段时间内在该侦听器中向后滚动视图.

I am using a compatible ScrollChangedListener already. So I've decided to scroll the view back in this listener during a period after onHideCustomView.

网络视图:

public interface OnScrollChangedListener {
    void onScrollChange(View v, int scrollX, int scrollY, int oldScrollX, int oldScrollY);
}

    public void SafeScrollTo(int x, int y) {
        OnScrollChangedListener mScrollChanged = mOnScrollChangeListener;
        mOnScrollChangeListener =null;
        scrollTo(x, y);
        mOnScrollChangeListener =mScrollChanged;
    }

    @Override
    protected void onScrollChanged(int l, int t, int oldl, int oldt) {
        super.onScrollChanged(l, t, oldl, oldt);
        if(mOnScrollChangeListener !=null)
            mOnScrollChangeListener.onScrollChange(this,l,t,oldl,oldt);
    }

    public void setOnScrollChangedListener(OnScrollChangedListener onSrollChangedListener) {
        mOnScrollChangeListener =onSrollChangedListener;
    }

    OnScrollChangedListener mOnScrollChangeListener;

活动:

mWebview.setOnScrollChangedListener((v, x, y, oldx, oldy) -> {
                ArticleWebView webview = (ArticleWebView) v;
                if(CustomViewHideTime>0 && System.currentTimeMillis()-CustomViewHideTime<350){
                    webview.SafeScrollTo(oldx, oldy);
                    return;
                }});

WebChromeClient:

WebChromeClient:

        @Override
        public void onHideCustomView() {
            CustomViewHideTime = System.currentTimeMillis();
            //todo delay and set CustomViewHideTime to 0
        }

这可以很好地工作.

这篇关于关闭全屏视图后,Android WebView Video,webview自动滚动的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆