Android WebView视频关闭全屏视图后,webview自动滚动

2024-06-18

我在用WebView显示包含文本和视频内容的网页。

它按预期正确加载和显示视频。

但是当我进入视频的全屏视图时(我按照给定的方式实现了全屏视频视图here https://github.com/akhgupta/WebviewVideo)然后回到WebView, WebView自动滚动一定量。

我该如何解决这个问题?

请提出一些想法/链接。


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

webview:

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;
                }});

WebChrome客户端:

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

这可以很好地工作。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android WebView视频关闭全屏视图后,webview自动滚动 的相关文章

  • Android 在 Nexus 设备上隐藏软键

    我想在用户启动我的应用程序时隐藏软键栏 主页 后退 菜单 我尝试使用 getWindow getDecorView setSystemUiVisibility View SYSTEM UI FLAG HIDE NAVIGATION 但不幸的
  • Android 本机崩溃从 /system/framework/arm/boot.oat 启动

    最近在 Google Play 中更新我的应用程序后 我开始收到大量崩溃报告 所有这些报告都来自搭载 Android 5 的三星设备 较低的 Android 版本可以正常工作 其他制造商的 Android 5 设备也可以正常工作 我没有任何
  • 如何去掉所有标签并得到纯文本?

    我必须将用户输入文本存储在我的数据库中HTML and CSS格式 案例是 Rad编辑器 http www telerik com products aspnet ajax editor aspx 用户将文本从 MSWord 复制到此编辑器
  • 如何在响应式设计中禁用缩放功能?

    在使用 iPad iPhone 和 或其他智能手机时 如何禁用响应式设计页面中的放大和缩小功能 有什么办法可以控制吗 创建 META 视口标签 并设置用户可扩展属性为 否 如下所示 更新的答案
  • Android SQLite 查询被 Android Studio 标记为错误

    在我的一个 Android 应用程序中 我使用了一些SQLite自从我更新到以来开始出现问题的查询Android Studio 3 0 尽管我可以编译并运行该应用程序 但它们被标记为错误 这些是查询 db execSQL INSERT IN
  • OpenGL ES 2.0 只绘制一次对象

    首先我要说的是 很抱歉今天问了这么多问题 所以 我有一个圈子的课程 我有一个包含 3 个圆形实例的数组列表 每个实例都有不同的 x 坐标来绘制 不管出于什么原因 OpenGL ES 2 0 只绘制其中之一 尽管我调用所有这些来绘制 我检查了
  • 在 webview 片段中实现后退按钮

    我想在我的应用程序中实现后退按钮 我正在使用每个片段显示不同的网络视图 现在 如果我按后退按钮 无论我在哪里 它都会关闭应用程序 我希望它能像浏览器一样返回 我有我的MainActivity java fragment1 java等直到fr
  • 在android上获取电池温度

    android 如何获取电池的温度 http developer android com reference android os BatteryManager html http developer android com referen
  • Android Edittext Onclick Datepickerdialog 棒棒糖中出现错误

    我正在使用日期选择器对话框 它在 kitkat 上运行正常 但是当我在棒棒糖上运行应用程序时 当我单击编辑文本时 它会打开一个日期选择器对话框 但当我选择日期时 它会不幸地给出停止错误 以下是 edittext 上日期选择器的代码 priv
  • 在 Jetpack compose 中使用 ModalDrawer 从右向左打开导航抽屉

    我一直在尝试在 Jetpack compose 中实现导航抽屉 以下代码显示了一种简单的方法 Composable fun ModalDrawerSample val drawerState rememberDrawerState Draw
  • 如何将相机居中以使标记位于屏幕底部? (谷歌地图API V2 Android)

    单击标记时 相机的默认行为是将其置于屏幕中央 但由于我通常在信息窗口中有很长的文本描述 因此实际更改相机位置以使标记位于屏幕的底部会更方便 屏幕 使信息窗口位于屏幕中央 我认为我应该能够通过重写 onMarkerClick 函数来做到这一点
  • 权限拒绝:开放提供商

    我创建了一个自定义内容提供程序 更多应用程序将访问该内容提供程序 我已在提供程序 AndroidManifest xml 文件中包含了权限标签 在第二个应用程序中 我包含了 use permissions 标签 但没有成功 Logcat 向
  • HTML/CSS 水平导航子菜单悬停显示错误

    我正在创建一个带有水平导航和垂直子菜单的 HTML 页面 一切工作正常 除了子菜单上的悬停显示在实际菜单项的左侧 看我的jsfiddle https jsfiddle net qmcte349 https jsfiddle net qmct
  • 提交ajax表单并停留在同一页面不起作用

    我想将用户的评论存储在我的数据库中 当用户提交时 我不想将他们重定向到新页面 我有以下代码 但它不起作用 我的 HTML 代码
  • 更新 android chrome 版本 65 后,应用程序无法运行,Sencha touch 和 cordova android

    更新 chrome 版本 65 后 应用程序在点击某些点击事件时再次显示启动屏幕 它是 Sencha touch 和 Cordova android 的混合应用程序 编辑 这是一个已知的 chrome 65 错误 https bugs ch
  • 在 Bootstrap 按钮下拉列表标题/占位符文本中显示所选项目

    这个问题已经在 Stackoverflow 上被问过几次了 但是我仍然无法弄清楚它的真相 而且我的查询正在抛出更多的下拉菜单 所以我有两个下拉菜单和一个搜索 我想从下拉列表和 选定 中进行选择以替换下拉占位符文本 但我还需要记住 点击搜索后
  • PopupWindow 在 Android API 28 的自定义键盘上被剪切

    我做了一个定制键盘 当您长按某个键时 会出现PopupWindow在按键上方显示一些额外的选项 问题在于 在 API 28 中 此弹出窗口被剪切 甚至顶行完全隐藏 我已经为 API with https stackoverflow com
  • JSON 解析为 Java - Android 应用程序

    我需要在 Java Android 应用程序中解析 json 字符串的帮助 JSON 文件的文本 data columns location id name description latitude longitude error type
  • 刷新 ArrayAdapter onResume [notifyDataSetChanged() 不起作用]

    我正在使用片段创建一个联系人列表应用程序 其中一个片段是联系人列表中的姓名列表 另一个是其余详细信息 这是显示名称列表的类 public class MyListFragment extends ListFragment private C
  • Hibernate 对于 Android 应用程序来说是一种杀伤力吗? [复制]

    这个问题在这里已经有答案了 我正在为我的 Android 应用程序寻找一个好的 ORM 乍一看似乎对于移动设备我更喜欢使用更简单的东西 问题是我只是在这里假设 没有真正的证据 所以我想我应该询问社区的意见 也许有人有过这样的经历 它是一个相

随机推荐

  • 如何外部化 json-ld 并包含在 html 文档中

    是否可以外部化 json ld 并将其包含在 html 文档中 如下所示 网上好像没有这方面的文档 你不能那样做 你应该得到json与AJAX要求 你可以轻松做到jQuery JS function getJSON data123 json
  • 使用函数和中点在 C++ 中对 Gusser 进行编号

    我正在尝试使用函数编写数字猜测器的代码 playOneGame 函数的返回类型应为 void 它应该在 1 到 100 的范围内实现一个完整的猜谜游戏 shouldPlayAgain 函数应具有布尔返回类型 它应该提示用户确定是否要再次玩
  • 在 Jenkins Pipeline 的一个步骤中添加多个阶段

    我正在尝试获得一个并行运行 2 个步骤的管道 其中 YAML 如下所示 steps step Step1 stages stage Build steps build a build b build c stage Sniff steps
  • 设置img src而不发出请求

    作为构建复制和粘贴代码的一部分 我们必须使用 dom 元素 并将文本 其他 dom 元素附加到其中 最终结果将是要复制的代码 但是 当附加图像元素时 浏览器always发出对图像 src 的请求 有什么办法解决吗 i e var img d
  • 如何在没有接口的情况下模拟多重继承?

    如何在不使用接口的情况下在 C 中模拟多重继承 我确实相信 接口能力不适用于此任务 我正在寻找更多面向 设计模式 的方式 就像 Marcus 所说 使用接口 扩展方法来制作像 mixins 这样的东西可能是你目前最好的选择 另请参阅 使用接
  • 在 bash 脚本中使用源时出现“源:未找到”错误

    我正在尝试编写 我认为的 一个简单的 bash 脚本 它将 运行 virtualenv 以 1 美元创建一个新环境 激活虚拟环境 做更多的事情 安装 django 将 django admin py 添加到 virtualenv 的路径等
  • Elastic Search 6 嵌套查询聚合

    我是弹性搜索查询和聚合的新手 我有一个带有以下映射的嵌套文档 PUT company mappings data properties deptId type keyword deptName type keyword employee t
  • 如何更改ggplot2中x轴和y轴的位置

    在我的真实研究世界中 在顶部 或顶部和底部 显示 x 轴 在右侧显示 y 轴是很常见的 然而 ggplot2 中的默认位置是 x 位于底部 y 位于左侧 下列的科斯克在这里发帖 https groups google com forum f
  • 为除 admin 之外的所有用户禁用管理栏

    我已经安装了 WordPress 和 BudyPress 我想禁用所有用户顶部显示的管理栏 有人可以告诉我如何正确地做到这一点吗 function is current user administrator global current u
  • Xamarin Android:检测设备当前是否正在播放音频

    在应用程序启动时 是否可以检测设备的音频播放器或其他应用程序当前是否正在播放音乐 您可以使用AudioManager http developer android com reference android media AudioManag
  • 根据值匹配数组

    我使用以下代码来解析 yaml 并应得到输出为runners对象和函数build应更改数据结构并根据以下结构提供输出 type Exec struct NameVal string Executer string 这是我尝试过的 但我不知道
  • 在 Visual Studio 2010 中使用自定义 UI 编辑器注册自定义文件类型

    我发现旧文章叫做立即学习VSX和一部分 30 Visual Studio 中的自定义编辑器 http dotneteers net blogs divedeeper archive 2008 09 01 LearnVSXNowPart30
  • 棋盘上骑士的最短路径

    我一直在为即将到来的编程比赛进行练习 我偶然发现了一个我完全困惑的问题 然而 我觉得这是一个我现在应该学习的概念 而不是祈祷它永远不会出现 基本上 它涉及棋盘上的骑士棋子 您将获得两个输入 起始位置和结束位置 目标是计算并打印骑士到达目标位
  • 使用 Beautifulsoup 抓取多个网站

    我想知道为什么列出all links and all titles不想接收列表中的任何记录titles and links 我也尝试过 extend 方法 但没有帮助 import requests from bs4 import Beau
  • 泛型和系统集合

    迁移到 NET 2 0 后 是否还有理由继续使用 systems Collections 命名空间 除了维护遗留代码之外 是否应该始终使用泛型命名空间 在大多数情况下 泛型集合的执行速度比非泛型集合更快 并且为您带来强类型集合的好处 比较
  • 挂钩 jQuery 验证消息更改

    我想在工具提示中显示 jQuery 验证消息 为了实现这一目标 我首先将以下 CSS 规则添加到我的样式表中 fieldset field validation error display none fieldset field valid
  • 使用通配符分割字符串

    我有一个变量字符串 其中包含我需要的值和拆分器 问题是 字符串的长度是可变的 分割器的类型也是可变的 它们通过 XML 文件到达 字符串将如下所示 1 20 51 2 name jpg 但也可以是 1 20 51 name jpg 坚实的因
  • 如何使用 Clang 编译器和 CMake 进行分析

    Question 1 What output我应该期待当我想使用进行分析时clang编译器 2 我该怎么办profiling for a C project它使用clang作为编译器andCMake 作为构建工具 重新分析我所使用的内容 1
  • cellForRowAtIndexPath 中的框架没有变化

    我想改变x位置框架view细胞内的cellForRowAtIndexPath对于某些条件 我使用了以下代码 但并不改变看法x position frame void viewDidLoad super viewDidLoad UINib n
  • Android WebView视频关闭全屏视图后,webview自动滚动

    我在用WebView显示包含文本和视频内容的网页 它按预期正确加载和显示视频 但是当我进入视频的全屏视图时 我按照给定的方式实现了全屏视频视图here https github com akhgupta WebviewVideo 然后回到W