欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android中WebView的一些簡(jiǎn)單用法

 更新時(shí)間:2016年08月14日 15:41:12   作者:曾田生z  
這篇文章主要介紹了Android中WebView的一些簡(jiǎn)單用法,WebView非常簡(jiǎn)單,Android已經(jīng)封裝的非常完善,寫個(gè)小例子覆蓋其間常用的幾個(gè)方法;

Android中WebView的一些簡(jiǎn)單用法

一直想寫一個(gè)關(guān)于 WebView 控件的 一些簡(jiǎn)單運(yùn)用,都沒什么時(shí)間,這次也是擠出時(shí)間寫的,里面的一些基礎(chǔ)知識(shí)就等有時(shí)間再更新講解一下,今天就先把項(xiàng)目出來(lái)做一些簡(jiǎn)單介紹,過(guò)多的內(nèi)容可以看我的源碼,都傳到github上了。

下面是項(xiàng)目的效果圖:

應(yīng)用用到的是 MVP 設(shè)計(jì)模式,對(duì)這種模式還不太了解的可以先自行g(shù)oogle一下,不然項(xiàng)目估計(jì)會(huì)看的暈,雖然我的代碼都很簡(jiǎn)潔的。

對(duì)于MVP 可以帶著一個(gè)思路看源碼,那就是 activity(或其他組件)通過(guò) xxPresenter 去拿數(shù)據(jù),拿到數(shù)據(jù) 在 xxPresenter 再利用 xxIView(這是一個(gè)接口)更新數(shù)據(jù),那么activity(或其他組件)繼承 xxIView 這個(gè)接口 就可以 更新UI 了

其實(shí) WebView 只用到一些簡(jiǎn)單的,深入應(yīng)用本篇文章會(huì)在更新!

其中:

    //設(shè)置WebView的一些縮放功能點(diǎn)
    webView.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY); 
    webView.setHorizontalScrollBarEnabled(false); 
    webView.getSettings().setSupportZoom(true); 
    //設(shè)置WebView可觸摸放大縮小
    webView.getSettings().setBuiltInZoomControls(true); 
    webView.setInitialScale(70); 
    webView.setHorizontalScrollbarOverlay(true); 
    //WebView雙擊變大,再雙擊后變小,當(dāng)手動(dòng)放大后,雙擊可以恢復(fù)到原始大小
    //webView.getSettings().setUseWideViewPort(true); 
    //提高渲染的優(yōu)先級(jí)
    webView.getSettings().setRenderPriority(RenderPriority.HIGH);
    //允許JS執(zhí)行
    webView.getSettings().setJavaScriptEnabled(true);
    //把圖片加載放在最后來(lái)加載渲染
    //webView.getSettings().setBlockNetworkImage(true); 
    //用WebView將字符串以HTML的形式顯示出來(lái) 
    //webView.loadDataWithBaseURL("fake://not/needed", <p>zzz</p>, "text/html", "utf-8", "");
    //在同種分辨率的情況下,屏幕密度不一樣的情況下,自動(dòng)適配頁(yè)面: 

與 native 進(jìn)行交互:

 mWebView.addJavascriptInterface(new WebAppInterface(customView.getContext()),"Android");

 public class WebAppInterface {
    Context mContext;

    /** Instantiate the interface and set the context */
    WebAppInterface(Context c) {
      mContext = c;
    }

    /** Show a toast from the web page */
    @JavascriptInterface
    public void showToast(String toast) {
      // 比如點(diǎn)擊 webview加載的html 片段 可以 讓應(yīng)用彈出一個(gè)土司
    }

這里給 webview 設(shè)置 夜間模式:

也就往 html 頁(yè)面寫入 html 標(biāo)簽 "<div class=&quot;night&quot;>"

  public static String buildHtmlWithCss(String html, String[] cssUrls, boolean isNightMode) {
    StringBuilder result = new StringBuilder();
    for (String cssUrl : cssUrls) {
      result.append(String.format(CSS_LINK_PATTERN, cssUrl));
    }

    if (isNightMode) {
      result.append(NIGHT_DIV_TAG_START);
    }
    result.append(html.replace(DIV_IMAGE_PLACE_HOLDER, DIV_IMAGE_PLACE_HOLDER_IGNORED));
    if (isNightMode) {
      result.append(NIGHT_DIV_TAG_END);
    }
    return result.toString();
  }

項(xiàng)目還得有待改進(jìn),等這段時(shí)間忙完就跟新!?。。?br />

項(xiàng)目源碼 github

相關(guān)文章

  • Kotlin?select使用方法介紹

    Kotlin?select使用方法介紹

    select是Kotlin?1.6中的特性,即選擇最快的結(jié)果。select與async、Channel結(jié)合使用,可以大大提高程序的響應(yīng)速度,還可以提高程序的靈活性、擴(kuò)展性
    2022-11-11
  • android 實(shí)現(xiàn)圓角圖片解決方案

    android 實(shí)現(xiàn)圓角圖片解決方案

    現(xiàn)在我們就來(lái)看看怎么樣把圖片的四角都變成圓形的,為什么要這樣做那,可能是為了美化界面吧,下面我們就來(lái)看看代碼吧
    2012-11-11
  • Android 3.0引入的異步加載機(jī)制Loader

    Android 3.0引入的異步加載機(jī)制Loader

    Loader裝載器從android3.0開始引進(jìn)。它使得在activity或fragment中異步加載數(shù)據(jù)變得簡(jiǎn)單。下面我們就來(lái)詳細(xì)講解下
    2017-12-12
  • 基于Android實(shí)現(xiàn)保存圖片到本地并可以在相冊(cè)中顯示出來(lái)

    基于Android實(shí)現(xiàn)保存圖片到本地并可以在相冊(cè)中顯示出來(lái)

    App應(yīng)用越來(lái)越人性化,不僅界面優(yōu)美而且服務(wù)也很多樣化,操作也非常方便。通過(guò)本篇文章給大家介紹基于Android實(shí)現(xiàn)保存圖片到本地并可以在相冊(cè)中顯示出來(lái),對(duì)android保存圖片相關(guān)知識(shí)感興趣的朋友一起學(xué)習(xí)吧
    2015-12-12
  • Android自定義水波紋底部導(dǎo)航的實(shí)現(xiàn)

    Android自定義水波紋底部導(dǎo)航的實(shí)現(xiàn)

    TabLayout作為導(dǎo)航組件來(lái)說(shuō),使用場(chǎng)景非常的多,也意味著要滿足各種各樣的需求,這篇文章主要介紹了Android自定義水波紋底部導(dǎo)航的實(shí)現(xiàn)
    2022-08-08
  • Android實(shí)現(xiàn)360手機(jī)助手底部的動(dòng)畫菜單

    Android實(shí)現(xiàn)360手機(jī)助手底部的動(dòng)畫菜單

    這篇文章給大家分享了利用Android實(shí)現(xiàn)360手機(jī)助手底部的動(dòng)畫菜單效果,文中給出了實(shí)例代碼,這樣對(duì)大家的學(xué)習(xí)或者理解更有幫助,有需要的朋友們下面來(lái)一起看看吧。
    2016-10-10
  • Android中對(duì)RecyclerView Adapter封裝解析

    Android中對(duì)RecyclerView Adapter封裝解析

    本篇文章主要介紹了Android中對(duì)RecyclerView Adapter封裝解析。小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-06-06
  • Flutter 如何封裝文本輸入框組件

    Flutter 如何封裝文本輸入框組件

    在實(shí)際開發(fā)過(guò)程中,往往開始是完成功能層面的開發(fā),然而再考慮組件封裝和代碼優(yōu)化。當(dāng)然,組件封裝越早做越好,因?yàn)檫@樣會(huì)提高整個(gè)團(tuán)隊(duì)開發(fā)的規(guī)范性和效率。本文將介紹如何封裝一個(gè)文本輸入框組件
    2021-06-06
  • Android實(shí)現(xiàn)離線緩存的方法

    Android實(shí)現(xiàn)離線緩存的方法

    離線緩存就是在網(wǎng)絡(luò)暢通的情況下將從服務(wù)器收到的數(shù)據(jù)保存到本地,當(dāng)網(wǎng)絡(luò)斷開之后直接讀取本地文件中的數(shù)據(jù)。本文給大家介紹Android實(shí)現(xiàn)離線緩存的方法,需要的朋友參考下
    2016-03-03
  • 詳解Android中Application設(shè)置全局變量以及傳值

    詳解Android中Application設(shè)置全局變量以及傳值

    這篇文章主要介紹了詳解Android中Application設(shè)置全局變量以及傳值的相關(guān)資料,希望通過(guò)本文大家能夠理解掌握這部分內(nèi)容,需要的朋友可以參考下
    2017-09-09

最新評(píng)論