iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 5
0

使用語言

  • Kotlin

使用元件

  • WebView

Method


WebViewClient

  • 無設置 WebViewClient:

    WebView 會請求 Activity Manager 選擇合適的方式來加載 URL,一般情況為啟動瀏覽器

  • 有設置 WebViewClient 且其中的 shouldOverrideUrlLoading 方法返回 true:

    由 host application 處理 URL,WebView 不處理

  • 有設置 WebViewClient 且其中的 shouldOverrideUrlLoading 方法返回 false:

    由 WebView 處理加載該 URL

# WebViewClient 源碼中 shouldOverrideUrlLoading 方法預設為返回 false

  • 參考資料

  • 源碼:

    * @param view The WebView that is initiating the callback.
    * @param url The url to be loaded.
    * @return True if the host application wants to leave the current WebView
    *         and handle the url itself, otherwise return false.
    */
    public boolean shouldOverrideUrlLoading(WebView view, String url) { 
        return false;
    }
    

WebView

  • setWebViewClient

    設置 WebViewClient

    val client = WebViewClient()
    webView.setWebViewClient(client)
    
  • loadUrl

    讀取 Url

    webView.loadUrl("https://www.google.com/")
    

收鍵盤

val view = window.peekDecorView()
val inputMethodManager = getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager
inputMethodManager.hideSoftInputFromWindow(view.getWindowToken(), 0)

搜尋邏輯

實作成果

查看詳細 Code > GitHub

tags: WebView WebViewClient GET Method

上一篇
Android Kotlin 實作 Day 4 : Scalable_ImageView( 使用MotionEvent + 座標系統 )
下一篇
Android Kotlin 實作 Day 6 : ImageList(RecyclerView + LayoutInflater)
系列文
英國研究顯示,連續30天用Kotlin開發Android將有益於身心健康30

尚未有邦友留言

立即登入留言