WebView头部添加android原生视频播放

需求:我们需要做一个h5页面,并且可以现实加载更多,并且头部我们想要加一个视频播放器,因为h5不够丝滑。

话不多说咱们直接上代码

Xml布局:

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <WebView
        android:id="@+id/vView"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

</androidx.constraintlayout.widget.ConstraintLayout>
class MainActivity : AppCompatActivity() {

    var url1: String =
        "https://www.baidu.com/"

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        var mView = findViewById<WebView>(R.id.vView)

        var topRelativeLayout = RelativeLayout(this)
        val topLp = RelativeLayout.LayoutParams(
            ScreenUtils.getScreenWidth(this), 400
        )
        topRelativeLayout.layoutParams = topLp

        val lp = RelativeLayout.LayoutParams(
            ScreenUtils.getScreenWidth(this) - 30, 360
        )
        lp.leftMargin = ScreenUtils.dip2px(this, 15f)
        lp.rightMargin = ScreenUtils.dip2px(this, 15f)
        lp.topMargin = ScreenUtils.dip2px(this, 20f)
        lp.addRule(RelativeLayout.CENTER_HORIZONTAL)

        topRelativeLayout.addView(getViewTop(), lp)

        mView.addView(topRelativeLayout)

        val wSet: WebSettings = mView.settings
        wSet.javaScriptEnabled = true
        //设置自适应屏幕
        wSet.useWideViewPort = true //将图片调整到适合webview的大小
        wSet.loadWithOverviewMode = false // 缩放至屏幕的大小

        mView.loadUrl(url1)
        mView.webViewClient = object : WebViewClient() {
            // 链接跳转都会走这个方法
            override fun shouldOverrideUrlLoading(view: WebView, url: String): Boolean {
                Log.d("MainActivity", "Url:$url")
                view.loadUrl(url) // 强制在当前 WebView 中加载 url
                return true
            }
        }

    }

    private fun getViewTop(): View? {
        return LayoutInflater.from(this).inflate(R.layout.view_top, null)
    }
}

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值