很早前就喜歡在Android中使用Webview元件結合JS來做應用,總結了一些不錯的小經驗,在這裡持續更新,自己備忘,也希望給其他需要的同學一些參考~
1.添權重限
要用Webview,确認你在**AndroidManifest.xml** 中添加了使用許可 "android.permission.INTERNET" ,否則會出Web page not available錯誤。
|
2.開啟Javascript支援
如果通路的頁面中有Javascript,或者需要通過js和頁面互動,則webview必須設定支援Javascript,方法如下:
|
注意:
Using setJavaScriptEnabled can introduce XSS vulnerabilities into you application, review carefully.
可以添加
@SuppressLint("SetJavaScriptEnabled")
3.設定可以自動加載圖檔
|
4.設定WevView要顯示的網頁
網際網路用:webView.loadUrl("http://www.eoe.cn");
本地檔案用:webView.loadUrl(file:///android_asset/eoe.html);固定格式
本地檔案存放在:assets檔案中
5.處理傳回鍵為傳回上一頁
如果用webview點連結看了很多頁以後,如果不做任何處理,點選系統“Back”鍵,整個浏覽器會調用finish()而結束自身,如果希望浏 覽的網頁回退而不是退出浏覽器,需要在目前Activity中處理并消費掉該Back事件,覆寫Activity類的onKeyDown(int keyCoder,KeyEvent event)方法,代碼如下:
| |
6.設定android WebView 不顯示滾動條
可以直接在layout中添加 android:scrollbars="none" 來設定不顯示滾動條,如下:
| |
7.重寫shouldOverrideUrlLoading時指定url
指定隻有url裡包含eoe.cn的時候才在webview裡打開,否則還是啟動浏覽器打開.
| |
8.android:scrollbarStyle控制滾動條位置
WebView有一個設定滾動條位置的屬性:android:scrollbarStyle 可以是insideOverlay可以是outsideOverlay,兩個的差別是SCROLLBARS_INSIDE_OVERLAY的樣式是滾動條 在整個page裡,類似css中的padding,看代碼下的這個圖吧,很清晰.
| |
轉載于:https://www.cnblogs.com/lingzhao/p/3463089.html