V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
qqhahaboy
V2EX  ›  Android

Android WebView 中嵌入原生控件

  •  
  •   qqhahaboy · 2020-01-13 15:10:51 +08:00 · 11074 次点击
    这是一个创建于 1777 天前的主题,其中的信息可能已经有所发展或是发生改变。

    有哪位大佬知道腾讯新闻 app 的新闻详情页,WebView 插入原生播放器的功能是怎么实现的?有没思路或 demo 提供来参考一下

    10 条回复    2022-11-28 13:12:44 +08:00
    LinPH
        1
    LinPH  
       2020-01-13 15:21:40 +08:00   ❤️ 1
    有一个腾讯 x5 内核浏览器 sdk,不知道是不是你想要的
    wobuhuicode
        2
    wobuhuicode  
       2020-01-13 15:54:26 +08:00   ❤️ 1
    这个安卓比较困难。
    因为安卓的 webview 不像 IOS 的那样是分层的。
    IOS 上的 webview ContentView 是在一个 scrollView 上的。所有只需要由 web 前端的同学把 一个 div 的(left top width height) 上报给客户端,客户端按照这些参数在对应位置构建播放器,放在 scrollView 上,这样就能在指定位置放置一个播放器。
    同样道理,你的安卓 webview 套在一个 scrollView 上这样操作即可。
    可以做的缺陷在于如果你的 video 只能存在于 body 滚动下的位置,而不能存在在一个可以滚动的 div 内部。
    这也是微信小程序中很多原生组件不能存在于小程序的一些 scrollView,swiper 组件内部的原因
    qqhahaboy
        3
    qqhahaboy  
    OP
       2020-01-13 16:24:21 +08:00
    我试了 ScrollView+webView 的组合,前端页面点击播放视频时候,在 WebView 中 addView 方法添加原生视频的控件。但是,ScrollView+webView 的组合在页面调整字体大小的时候,还要视频退出全屏,前端界面底部都会出现大块空白。所以我觉得这种实现方法是有缺陷的
    ColoThor
        4
    ColoThor  
       2020-01-13 17:43:02 +08:00
    用 monitor 的 dump view hierarchy 或者 studio 的 layout inspector 看下布局?
    wobuhuicode
        5
    wobuhuicode  
       2020-01-13 19:04:51 +08:00
    @qqhahaboy 方法没有问题的。不太懂你的调整字体大小是什么意思。
    估计是你的 video 控件做全屏的时候把 webview 给横屏了。
    ScrollView 给撑开了所有底部多了空白。
    fansangg
        6
    fansangg  
       2020-01-14 09:30:55 +08:00
    夸克就实现了
    Vdream
        7
    Vdream  
       2020-01-14 16:00:42 +08:00
    我倒是实现过 webview(新闻内容)+原生 recyclerview(评论内容的)
    chengxy
        8
    chengxy  
       2020-01-16 16:54:11 +08:00
    @fansangg #6 夸克使用自己的内核吧。
    fansangg
        9
    fansangg  
       2020-01-18 23:06:34 +08:00
    @chengxy 夸克应该是 chromium 吧
    binsys
        10
    binsys  
       2022-11-28 13:12:44 +08:00
    百度搜索 小程序同层 找相关文章,很多。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1374 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 17:20 · PVG 01:20 · LAX 09:20 · JFK 12:20
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.