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

【Android 開發(fā)教程】WebView

系統(tǒng) 2571 0

本章節(jié)翻譯自《Beginning-Android-4-Application-Development》,如有翻譯不當(dāng)?shù)牡胤剑凑?qǐng)指出。

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


WebView能夠讓你在activity中去內(nèi)嵌一個(gè)web瀏覽器。如果你的應(yīng)用需要內(nèi)嵌一些web內(nèi)容的話,這是非常有用的。

下面展示如何在activity中通過編碼的方式去加載網(wǎng)頁(yè)中的內(nèi)容。

1. 新建一個(gè)工程,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中添加訪問網(wǎng)絡(luò)的權(quán)限。

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

【Android 開發(fā)教程】WebView


想要使用WebView去加載一個(gè)網(wǎng)頁(yè)的話,就需要使用loadUrl()方法,并傳入U(xiǎn)RL參數(shù),就象這樣:

    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");
  
如果想要顯示內(nèi)置的放大或縮小控件,你需要從WebView中獲取WebSettings屬性對(duì)象,然后調(diào)用setBuildInZoomControls()方法:

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


有的時(shí)候當(dāng)你加載一個(gè)網(wǎng)頁(yè),這個(gè)網(wǎng)頁(yè)會(huì)指向www.google.com,WebView將會(huì)去調(diào)用設(shè)備的Browser瀏覽器去加載所指向的網(wǎng)址。注意下圖中,屏幕上方的URL條,此時(shí)已經(jīng)調(diào)用了本地的Browser瀏覽器應(yīng)用。

【Android 開發(fā)教程】WebView

如果想阻止調(diào)用系統(tǒng)本身的瀏覽器,需要去實(shí)現(xiàn)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 開發(fā)教程】WebView

這一次,就直接在WebView中加載指定的網(wǎng)址了。


另外,也可以動(dòng)態(tài)地去實(shí)現(xiàn)一個(gè)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 開發(fā)教程】WebView


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

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

加載html文件后的WebView:

【Android 開發(fā)教程】WebView





【Android 開發(fā)教程】WebView


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

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

【本文對(duì)您有幫助就好】

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

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 毛片黄片一级片 | 欧洲成人在线 | 成人黄色在线免费观看 | 波多野结衣一区二区 三区 波多野结衣一区二区三区 波多野结衣一区二区三区高清在线 | 成人精品视频在线观看播放 | 日韩一级欧美一级一级国产 | 日本欧美一区二区三区在线观看 | 美女一级大黄录像一片 | 毛片真人毛毛片毛片 | 在线一级视频 | 2019天天干天天操 | 香蕉国产一区二区 | 欧美日韩国产一区二区三区 | 在线性爱视频 | 视色视频在线观看 | 在线观看h片 | 日韩一级片在线观看 | 五月亭亭免费高清在线 | 在线中文字幕网 | 国产一级特黄高清在线大片 | 成人亚洲在线 | 国产美女流白浆的免费视 | 亚洲h在线观看 | 中文字幕影院 | 波多野结衣中文字幕一区二区三区 | 欧美精品一区二区三区视频 | 免费一级毛片无毒不卡 | 91久久国产综合精品女同国语 | 亚洲欧美日韩在线观看你懂的 | 偷亚洲偷国产欧美高清 | 日本欧美日韩 | 天天爱天天干天天操 | 好吊妞在线播放 | 亚洲美女在线观看播放 | 精品欧美日韩一区二区三区 | 国产成年女一区二区三区 | 久久精品国产只有精品2020 | 午夜视频18| 国产精品久久久久久久久久98 | 天上人间影院久久国产 | 国国产自国偷自产第38页 |