短视频软件开发,Android开发,使用Kotlin实现WebView

短视频软件开发,Android开发,使用Kotlin实现WebView

1、布局文件

 

1
<br><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"<br>    android:orientation="vertical"<br>    android:layout_width="match_parent"<br>    android:layout_height="match_parent"><br> <br>    <WebView<br>        android:id="@+id/webview"<br>        android:layout_width="match_parent"<br>        android:layout_height="match_parent"/><br> <br></LinearLayout>

2、Activity文件

 

1
<br>class TestWebActivity : Activity(){<br>    private var webView: WebView? = null<br> <br>    var WEB_URL = "https://www.baidu.com"<br> <br>    override fun onCreate(savedInstanceState: Bundle?) {<br>        super.onCreate(savedInstanceState)<br>        setContentView(R.layout.test_webview)<br> <br>        initWebView()<br>    }<br> <br>    fun initWebView(){<br>        webView = findViewById(R.id.webview)<br>        webView?.loadUrl(WEB_URL)<br> <br>        val webClient = object : WebViewClient(){<br>            override fun shouldOverrideUrlLoading(view: WebView?, request: WebResourceRequest?): Boolean {<br>                return false<br>            }<br>        }<br> <br>        //下面这些直接复制就好<br>        webView?.webViewClient=webClient<br> <br>        var webSettings = webView!!.settings<br>        webSettings.javaScriptEnabled = true  // 开启 JavaScript 交互<br>        webSettings.setAppCacheEnabled(true) // 启用或禁用缓存<br>        webSettings.cacheMode = WebSettings.LOAD_DEFAULT // 只要缓存可用就加载缓存, 哪怕已经过期失效 如果缓存不可用就从网络上加载数据<br>        webSettings.setAppCachePath(cacheDir.path) // 设置应用缓存路径<br> <br>        // 缩放操作<br>        webSettings.setSupportZoom(false) // 支持缩放 默认为true 是下面那个的前提<br>        webSettings.builtInZoomControls = false // 设置内置的缩放控件 若为false 则该WebView不可缩放<br>        webSettings.displayZoomControls = false // 隐藏原生的缩放控件<br> <br>        webSettings.blockNetworkImage = false // 禁止或允许WebView从网络上加载图片<br>        webSettings.loadsImagesAutomatically = true // 支持自动加载图片<br> <br>        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {<br>            webSettings.safeBrowsingEnabled = true // 是否开启安全模式<br>        }<br> <br>        webSettings.javaScriptCanOpenWindowsAutomatically = true // 支持通过JS打开新窗口<br>        webSettings.domStorageEnabled = true // 启用或禁用DOM缓存<br>        webSettings.setSupportMultipleWindows(true) // 设置WebView是否支持多窗口<br> <br>        // 设置自适应屏幕, 两者合用<br>        webSettings.useWideViewPort = true  // 将图片调整到适合webview的大小<br>        webSettings.loadWithOverviewMode = true  // 缩放至屏幕的大小<br>        webSettings.allowFileAccess = true // 设置可以访问文件<br> <br>        webSettings.setGeolocationEnabled(true) // 是否使用地理位置<br> <br>        webView?.fitsSystemWindows = true<br>        webView?.setLayerType(View.LAYER_TYPE_HARDWARE,null)<br>        webView?.loadUrl(WEB_URL)<br>    }<br> <br>    //设置返回键的监听<br>    override fun onKeyDown(keyCode: Int, event: KeyEvent?): Boolean {<br>        if (keyCode==KeyEvent.KEYCODE_BACK){<br>            if (webView!!.canGoBack()){<br>                webView!!.goBack()  //返回上一个页面<br>                return true<br>            }else{<br>                finish()<br>                return true<br>            }<br>        }<br>        return false<br>    }<br>}

 

3、在AndroidMinifest中添加权限

 

1
<br><manifest xmlns:android="http://schemas.android.com/apk/res/android"<br>    package="com.android.testwebview"><br> <br>    <application<br>        android:allowBackup="true"<br>        android:icon="@mipmap/ic_launcher"<br>        android:label="@string/app_name"<br>        android:roundIcon="@mipmap/ic_launcher_round"<br>        android:supportsRtl="true"<br>        android:theme="@style/AppTheme"><br>        <activity android:name=".TestWebActivity"><br>            <intent-filter><br>                <action android:name="android.intent.action.MAIN" /><br> <br>                <category android:name="android.intent.category.LAUNCHER" /><br>            </intent-filter><br>        </activity><br>    </application><br> <br>    <!--添加网络权限--><br>    <uses-permission android:name="android.permission.INTERNET"/><br> <br></manifest>

 

以上就是 短视频软件开发,Android开发,使用Kotlin实现WebView,更多内容欢迎关注之后的文章

 

posted @   云豹科技-苏凌霄  阅读(205)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示