亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

【Android 開發教程】WebView

系統 2138 0

本章節翻譯自《Beginning-Android-4-Application-Development》,如有翻譯不當的地方,敬請指出。

原書購買地址 http://www.amazon.com/Beginning-Android-4-Application-Development/dp/1118199545/


WebView能夠讓你在activity中去內嵌一個web瀏覽器。如果你的應用需要內嵌一些web內容的話,這是非常有用的。

下面展示如何在activity中通過編碼的方式去加載網頁中的內容。

1. 新建一個工程,WebView。

2. main.xml中的代碼。

    <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

	<WebView android:id="@+id/webview1"
		android:layout_width="wrap_content"
		android:layout_height="wrap_content" />

</LinearLayout>
  
3. WebViewActivity.java中的代碼。

    public class WebViewActivity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        WebView wv = (WebView) findViewById(R.id.webview1);
                
        WebSettings webSettings = wv.getSettings();
        webSettings.setBuiltInZoomControls(true);
        
        wv.loadUrl(
            "http://chart.apis.google.com/chart" +
            "?chs=300x225" +
            "&cht=v" +
            "&chco=FF6342,ADDE63,63C6DE" +
            "&chd=t:100,80,60,30,30,30,10" +
            "&chdl=A|B|C");

}
  
4. 在AndroidManifest.xml中添加訪問網絡的權限。

    <uses-permission android:name="android.permission.INTERNET"/>
  
5. 按F11在模擬器上面調試。

【Android 開發教程】WebView


想要使用WebView去加載一個網頁的話,就需要使用loadUrl()方法,并傳入URL參數,就象這樣:

    wv.loadUrl(
            "http://chart.apis.google.com/chart" +
            "?chs=300x225" +
            "&cht=v" +
            "&chco=FF6342,ADDE63,63C6DE" +
            "&chd=t:100,80,60,30,30,30,10" +
            "&chdl=A|B|C");
  
如果想要顯示內置的放大或縮小控件,你需要從WebView中獲取WebSettings屬性對象,然后調用setBuildInZoomControls()方法:

            WebSettings webSettings = wv.getSettings();
        webSettings.setBuiltInZoomControls(true);
  
【Android 開發教程】WebView


有的時候當你加載一個網頁,這個網頁會指向www.google.com,WebView將會去調用設備的Browser瀏覽器去加載所指向的網址。注意下圖中,屏幕上方的URL條,此時已經調用了本地的Browser瀏覽器應用。

【Android 開發教程】WebView

如果想阻止調用系統本身的瀏覽器,需要去實現WebViewClient類,然后重寫shouldOverrideUrlLoading()方法。下面是例子:

    public class WebViewActivity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        WebView wv = (WebView) findViewById(R.id.webview1);
                
        WebSettings webSettings = wv.getSettings();
        webSettings.setBuiltInZoomControls(true);

        wv.setWebViewClient(new Callback());
        wv.loadUrl("http://www.wrox.com");

    }
    
    private class Callback extends WebViewClient {
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            return(false);
        }
    }

}
  
【Android 開發教程】WebView

這一次,就直接在WebView中加載指定的網址了。


另外,也可以動態地去實現一個HTML字符串,然后把它載入到WebView中,這要使用loadDataWithBaseURL()方法:

    		WebView wv = (WebView) findViewById(R.id.webview1);
        final String mimeType = "text/html";
        final String encoding = "UTF-8";
        String html = "<H1>A simple HTML page</H1><body>" +
            "<p>The quick brown fox jumps over the lazy dog</p></body>";
        wv.loadDataWithBaseURL("", html, mimeType, encoding, "");
  
【Android 開發教程】WebView


同樣的,如果在assets文件夾下面有一個HTML文件,也可以使用loadUrl()方法去把它加載到WebView中:

            WebView wv = (WebView) findViewById(R.id.webview1);
        wv.loadUrl("file:///android_asset/Index.html");
  
【Android 開發教程】WebView

加載html文件后的WebView:

【Android 開發教程】WebView





【Android 開發教程】WebView


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 久久综合久久久久 | 高清在线亚洲精品国产二区 | 成人伊人青草久久综合网 | 久久久久免费精品国产 | 在线 色 | 国产成人免费不卡在线观看 | aaaa级日本片免费视频 | 国产欧美一区二区三区免费看 | 午夜一级视频 | 97av视频在线播放 | 日日干日日射 | 在线亚洲观看 | 亚洲欧洲尹人香蕉综合 | 九草在线免费观看 | 网站免费黄色 | 欧美国产亚洲18 | 国产一区二区在线视频观看 | 亚洲婷婷在线视频 | 久久美女精品国产精品亚洲 | 99精品一区二区免费视频 | 成人亚洲欧美日韩在线观看 | 欧美日韩亚洲精品一区二区 | 欧美亚洲国产成人高清在线 | 国产69精品久久久久9999 | a v在线男人的天堂观看免费 | 99香蕉国产精品偷在线观看 | 免费一看一级毛片人 | 免费中文字幕在线 | 久久在线免费观看 | 全黄一级裸片视频免费区 | 色老久久精品偷偷鲁一区 | 国产羞羞事1000部在线观看 | 国产福利福利视频 | 国产手机在线国内精品 | 亚洲欧美日产综合一区二区三区 | 亚洲一区二区久久 | 91久久99 | 久久93精品国产91久久综合 | 五月色婷婷综合激情免费视频 | 久草视频免费在线播放 | 日本精品1在线区 |