qqhahaboy
V2EX  ›  Android

Android WebView 中嵌入原生控件

  •  
  •   qqhahaboy · Jan 13, 2020 · 15480 views
    This topic created in 2327 days ago, the information mentioned may be changed or developed.

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

    10 replies    2022-11-28 13:12:44 +08:00
    LinPH
        1
    LinPH  
       Jan 13, 2020   ❤️ 1
    有一个腾讯 x5 内核浏览器 sdk,不知道是不是你想要的
    wobuhuicode
        2
    wobuhuicode  
       Jan 13, 2020   ❤️ 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
       Jan 13, 2020
    我试了 ScrollView+webView 的组合,前端页面点击播放视频时候,在 WebView 中 addView 方法添加原生视频的控件。但是,ScrollView+webView 的组合在页面调整字体大小的时候,还要视频退出全屏,前端界面底部都会出现大块空白。所以我觉得这种实现方法是有缺陷的
    ColoThor
        4
    ColoThor  
       Jan 13, 2020
    用 monitor 的 dump view hierarchy 或者 studio 的 layout inspector 看下布局?
    wobuhuicode
        5
    wobuhuicode  
       Jan 13, 2020
    @qqhahaboy 方法没有问题的。不太懂你的调整字体大小是什么意思。
    估计是你的 video 控件做全屏的时候把 webview 给横屏了。
    ScrollView 给撑开了所有底部多了空白。
    fansangg
        6
    fansangg  
       Jan 14, 2020
    夸克就实现了
    Vdream
        7
    Vdream  
       Jan 14, 2020
    我倒是实现过 webview(新闻内容)+原生 recyclerview(评论内容的)
    chengxy
        8
    chengxy  
       Jan 16, 2020
    @fansangg #6 夸克使用自己的内核吧。
    fansangg
        9
    fansangg  
       Jan 18, 2020
    @chengxy 夸克应该是 chromium 吧
    binsys
        10
    binsys  
       Nov 28, 2022
    百度搜索 小程序同层 找相关文章,很多。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5314 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 62ms · UTC 08:02 · PVG 16:02 · LAX 01:02 · JFK 04:02
    ♥ Do have faith in what you're doing.