国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

android webview 顯示灰度網(wǎng)頁

這篇具有很好參考價值的文章主要介紹了android webview 顯示灰度網(wǎng)頁。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

要在WebView中顯示網(wǎng)頁灰度顯示,您可以通過以下步驟操作:
使用的原理兩種方式,一種使用畫筆,一種是js css注入。都能夠?qū)崿F(xiàn)黑白色灰度網(wǎng)頁。

在您的布局文件中添加WebView組件:

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

在您的Activity或Fragment中,初始化WebView并啟用硬件加速:

WebView webView = findViewById(R.id.webview);
webView.setLayerType(View.LAYER_TYPE_HARDWARE, null);

創(chuàng)建applyGrayscaleFilter()方法,該方法將會應(yīng)用灰度濾鏡到WebView的內(nèi)容:


@SuppressWarnings({"deprecation", "AccessStaticViaInstance"})
    private void applyGrayscaleFilter(WebView webView) {
        // 創(chuàng)建WebSettings實(shí)例
        WebSettings webSettings = webView.getSettings();

        // 啟用插件
        webSettings.setPluginState(WebSettings.PluginState.ON);

        // 根據(jù)系統(tǒng)版本選擇不同的濾鏡方法
        ColorMatrix colorMatrix = new ColorMatrix();
        colorMatrix.setSaturation(0);// 0為黑白色
        ColorMatrixColorFilter filter = new ColorMatrixColorFilter(colorMatrix);

        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
            // Android 10及以上版本
            webView.setWebContentsDebuggingEnabled(true);
            webView.setLayerType(View.LAYER_TYPE_HARDWARE, null);
            webView.setRendererPriorityPolicy(RENDERER_PRIORITY_BOUND, true);
            // 兩種方法都可以
            //nativeHandleGrey(view, filter);
            webView.loadUrl("javascript:" + jsHandleGrey());
        } else {
            // 低于Android 10版本
            webView.setDrawingCacheEnabled(true);
            webView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
            webView.setBackgroundColor(Color.TRANSPARENT);
            Paint paint = new Paint();
            paint.setColorFilter(filter);
            webView.setLayerPaint(paint);
        }
    }

    private String jsHandleGrey() {
        return "var style_special = document.createElement('style');\n" +
                "var css_special = `* {\n" +
                "            filter: grayscale(100%) !important;\n" +
                "            -webkit-filter: grayscale(100%) !important;\n" +
                "        }`;\n" +
                "style_special.appendChild(document.createTextNode(css_special));\n" +
                "document.head.appendChild(style_special);";
    }

    private void nativeHandleGrey(WebView view, ColorMatrixColorFilter filter) {
        Bitmap webViewBitmap = Bitmap.createBitmap(view.getWidth(), view.getHeight(), Bitmap.Config.ARGB_8888);
        Canvas canvas = new Canvas(webViewBitmap);
        view.draw(canvas);

        Paint paint = new Paint();
        paint.setColorFilter(filter);

        canvas.drawBitmap(webViewBitmap, 0, 0, paint);
        if (webViewBitmap != null)
            webViewBitmap.recycle();
    }

最后,在WebView加載網(wǎng)頁之前,調(diào)用applyGrayscaleFilter()方法以應(yīng)用灰度濾鏡效果:

webView.setWebViewClient(new WebViewClient() {
    @Override
    public void onPageFinished(WebView view, String url) {
        super.onPageFinished(view, url);
        applyGrayscaleFilter();
    }
});

webView.loadUrl("https://www.example.com");

這樣就可以在WebView中顯示灰度網(wǎng)頁了。根據(jù)系統(tǒng)版本的不同,使用了不同的濾鏡方法來實(shí)現(xiàn)灰度效果。請注意,這種方法可能會影響WebView的性能和渲染速度,因此請確保在使用之前進(jìn)行足夠的測試。文章來源地址http://www.zghlxwxcb.cn/news/detail-646104.html

到了這里,關(guān)于android webview 顯示灰度網(wǎng)頁的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 微信小程序使用webview打開pdf文檔及顯示網(wǎng)頁內(nèi)容

    微信小程序使用webview打開pdf文檔及顯示網(wǎng)頁內(nèi)容

    一、微信小程序根據(jù)接口返回的pdf鏈接,在小程序內(nèi)部瀏覽pdf內(nèi)容 需要用到微信小程序的兩個api 下載資源到本地 wx.downloadFile wx.openDocument 前一個api下載資源到本地,后一個api打開pdf文檔 二、根據(jù)網(wǎng)頁鏈接,把網(wǎng)頁內(nèi)容在微信小程序內(nèi)部顯示 需要用到微信小程序的一個標(biāo)簽

    2024年02月09日
    瀏覽(28)
  • Android Studio 加載一個 WebView 來訪問網(wǎng)頁

    為了實(shí)現(xiàn)在 Android Studio 加載一個 WebView 來訪問網(wǎng)頁,您可以按照以下步驟進(jìn)行操作: 在布局文件中添加 WebView。在 res/layout 目錄下創(chuàng)建一個新的 layout xml 文件(例如 webview_layout.xml)。在該文件中添加一個 WebView: 在 Java 代碼中添加 WebView 的邏輯。在 Activity 類中創(chuàng)建 WebView 對

    2024年02月02日
    瀏覽(23)
  • Android 使用webView打開網(wǎng)頁可以實(shí)現(xiàn)自動播放音頻

    Android 使用webView打開網(wǎng)頁可以實(shí)現(xiàn)自動播放音頻

    使用webview 自動播放音視頻,場景如,流媒體自動部分,音視頻通話等。會出現(xiàn)如下問題: ? 解決方案如下: 配置webview 如下,這樣可以自動播放音頻。

    2024年02月12日
    瀏覽(32)
  • Android WebView簡單應(yīng)用:構(gòu)建內(nèi)嵌網(wǎng)頁瀏覽功能

    在現(xiàn)代移動應(yīng)用開發(fā)中,內(nèi)嵌網(wǎng)頁瀏覽功能是許多應(yīng)用程序的常見需求。Android平臺提供了WebView組件,它允許開發(fā)者將網(wǎng)頁內(nèi)容嵌入到應(yīng)用中,并提供了豐富的功能和定制選項(xiàng)。本文將介紹如何在Android應(yīng)用中使用WebView組件,幫助您快速構(gòu)建簡單而強(qiáng)大的內(nèi)嵌網(wǎng)頁瀏覽功能。

    2024年02月13日
    瀏覽(24)
  • Android WebView 報錯 ( 網(wǎng)頁無法打開 位于 http://... 的網(wǎng)頁無法加載, 因?yàn)?net::ERR_CLEARTEXT_NOT_PERMITTED )

    在 Android 9.0 及以上的系統(tǒng)版本中,系統(tǒng)默認(rèn)情況下禁止應(yīng)用程序使用不安全的明文流量進(jìn)行網(wǎng)絡(luò)連接,以提高用戶的安全性。 這意味著,如果應(yīng)用程序嘗試連接到一個不安全的 HTTP 網(wǎng)站,將收到 net::ERR_CLEARTEXT_NOT_PERMITTED 錯誤 ; 也就是說應(yīng)用中的 WebView 嘗試顯示 HTTP 站點(diǎn)時就

    2024年02月05日
    瀏覽(26)
  • 【錯誤記錄】Android WebView 報錯 ( 網(wǎng)頁無法打開 位于 http://... 的網(wǎng)頁無法加載, 因?yàn)?net::ERR_CLEARTEXT_NOT_PERMITTED )

    【錯誤記錄】Android WebView 報錯 ( 網(wǎng)頁無法打開 位于 http://... 的網(wǎng)頁無法加載, 因?yàn)?net::ERR_CLEARTEXT_NOT_PERMITTED )

    報錯信息 : 網(wǎng)頁無法打開 位于 http://… 的網(wǎng)頁無法加載, 因?yàn)?net::ERR_CLEARTEXT_NOT_PERMITTED ; 在 Android 9.0 及以上的系統(tǒng)版本中 , 系統(tǒng)默認(rèn)情況下禁止應(yīng)用程序使用不安全的明文流量進(jìn)行網(wǎng)絡(luò)連接, 以提高用戶的安全性。 這意味著,如果應(yīng)用程序嘗試連接到一個不安全的 HTTP 網(wǎng)

    2024年02月11日
    瀏覽(26)
  • Android項(xiàng)目在 app 中通過 WebView 訪問 url顯示空白,使用瀏覽器可以打開,Android WebView加載出現(xiàn)空白頁面問題解決

    Android項(xiàng)目在 app 中通過 WebView 訪問 url顯示空白,使用瀏覽器可以打開,Android WebView加載出現(xiàn)空白頁面問題解決

    服務(wù)器證書校驗(yàn)主要針對 WebView 的安全問題。 在 app 中需要通過 WebView 訪問 url,因?yàn)榉?wù)器采用的自簽名證書,而不是 ca 認(rèn)證,使用 WebView 加載 url 的時候會顯示為空白,出現(xiàn)無法加載網(wǎng)頁的情況。 使用 ca 認(rèn)證的證書,在 WebView 則可以直接顯示出來,不需要特殊處理。 以往

    2024年02月04日
    瀏覽(30)
  • Android WebView加載失敗,顯示net::ERR_CLEARTEXT_NOT_PERMITTED

    在Android應(yīng)用程序中使用WebView加載網(wǎng)頁時,有時可能會遇到net::ERR_CLEARTEXT_NOT_PERMITTED錯誤。該錯誤提示明文傳輸不允許,通常發(fā)生在應(yīng)用程序嘗試加載不安全(未加密)的HTTP鏈接時。本文將介紹如何解決這個問題,并提供相關(guān)的源代碼示例。 Android 9(API級別28)及更高版本默

    2024年01月17日
    瀏覽(60)
  • flutter android Webview 打開網(wǎng)頁錯誤ERR_CLEARTEXT_NOT_PERMITTED 、 net:ERR_CACHE_MISS

    flutter android Webview 打開網(wǎng)頁錯誤ERR_CLEARTEXT_NOT_PERMITTED 、 net:ERR_CACHE_MISS

    前言:當(dāng)你在Flutter應(yīng)用中,使用WebView嘗試打開的網(wǎng)頁時,android環(huán)境可能會遇一些問題 原因:Android 9及更高版本,默認(rèn)情況下,禁止應(yīng)用程序通過非安全的明文HTTP連接進(jìn)行網(wǎng)絡(luò)通信。為了解決這個問題,你可以采取以下三種方法之一: - 將你的網(wǎng)頁遷移到使用HTTPS連接。這是

    2024年02月14日
    瀏覽(26)
  • Android WebView H5視頻播放實(shí)現(xiàn)全屏播放功能、全屏按鈕不顯示、灰顯、點(diǎn)擊無效問題解決方案

    打開硬件加速(3.0以上版本支持) set一個WebChromClient,實(shí)現(xiàn)onShowCustomView() 方法和onHideCustomView()方法 全屏支持 打開硬件加速 在Manifest中,對應(yīng)的Activity添加: android:hardwareAccelerated = “true”。 防止h5重新加載:Manifest中,對應(yīng)的Activity添加: android:configChanges=“keyboardHidden|orientation|s

    2024年02月09日
    瀏覽(27)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包