Android WebView的簡單使用

尊重原創,轉載請注明:From zsml2016(http://blog.csdn.net/qq_29269233)Power by zsml2016侵權必究!

前言:
最近是有點忙,趁著今天放假有時間,我就跟大家簡單分享Android中的WebView組件的使用!我接觸webview的時候是因為要做項目,實現的需求很簡單,就是一個瀏覽器能夠打開一個指定的網址就行了,所以我從接觸到使用實現用了一天時間,當然還要經過很多測試,項目才能算穩定!接下來就給大家分享一下怎樣簡單方便地使用webview吧。作為Android開發者,我們都應該知道在手機中內置了一款高性能webkit內核瀏覽器,在sdk中封裝了一個叫做webview組件,目前很多Android APP都內置了可以顯示web作為頁面的界面,也是利用了webview組件。

WebView的一些優點:
1、可以直接顯示和渲染web頁面,直接顯示網頁
2、webview可以直接用html文件(網絡上或本地assets中)作布局
3、和JavaScript交互調用

一、使用webview,必須定義webview控件。在layout中:

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

二、在activity中獲得webview的引用,同時load一個網址:

setContentView(R.layout.*activity_main*);
    //初始化控件
    webView1 = (WebView) findViewById(R.id.*webView1*);
    webView1.loadUrl("http://blog.csdn.net/qq_29269233");

還是那句話,大家別忘了,要連網就要加上網絡權限:

<uses-permission android:name="android.permission.INTERNET"/>

這樣兩步就可以打開一個網頁了,是不是很簡單啊!
但是這個時候發現了一個問題,啟動應用后,自動的打開了系統內置的瀏覽器,解決這個問題需要為webview設置 WebViewClient,并重寫方法:

webView1.setWebViewClient(new WebViewClient(){
     @Override public boolean shouldOverrideUrlLoading(WebView view, String url) {
     view.loadUrl(url); return true;
 }

這樣就能在webview應用中打開網頁了,如下圖所示:


三、webview的一些設置:
若自己要定義一個加載頁面的進度條,需要展示給用戶的時候,先在layout中加入progressbar控件,再通過如下方式獲取webview內頁面的加載進度:

//加載進度條設置
webView1.setWebChromeClient(new WebChromeClient() {
 @Override public void onProgressChanged(WebView view, int newProgress) {
 super.onProgressChanged(view, newProgress);
 }
});

如果訪問頁面中有js,則必須設置webview支持js:

webView1.getSettings().setJavaScriptEnabled(true);

webview返回鍵設置:

public boolean onKeyDown(int keyCode, KeyEvent event) {
     if ((keyCode == *KEYCODE_BACK*) && webView1.canGoBack()) {
         webView1.goBack(); return true;
     }
 finish();
 return super.onKeyDown(keyCode, event);
}

滾動條設置:

webView1.setVerticalScrollBarEnabled(false); //垂直不顯示
webView1.setHorizontalScrollBarEnabled(false);//水平不顯示

總效果如下:


至此,一個簡單的webview瀏覽器就完美結束了,由于webview的知識點真的好多好多,不是一時間就能講完的,接下來我會去完善一下webview的其他設置,
記得昨天我轉載的一篇覺得不錯的,但沒有去研究:在WebView中如何讓JS與Java安全地互相調用

更多精彩內容請關注本人博客:http://blog.csdn.net/qq_29269233

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容