国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
android之在view中內(nèi)嵌瀏覽器的方法

我要做的一個(gè)東西是在一個(gè)頁(yè)面的中間嵌入瀏覽器,一開(kāi)始不知道從哪里開(kāi)始,因?yàn)橐郧坝玫亩际荰extveiw或者editVeiw之類(lèi)的控件,而它們并不能用來(lái)顯示網(wǎng)頁(yè)的內(nèi)容,怎么辦呢?

首先想到的是:是不是有一個(gè)用來(lái)顯示網(wǎng)頁(yè)的View呢,于是我就在eclipse里xml編輯器里輸入<web,哈哈,果然下面有個(gè)提示是webVeiw,那么能不能用它呢?于是到網(wǎng)上搜一下它的資料,果然可以的,下面就開(kāi)始吧。

 

先在xml里把webview建好,在代碼里用findViewById()將其取出來(lái)。我的代碼是:

 

WebView webView = (WebView)this.findViewById("@/id/webview");

 

緊接著就用到了從網(wǎng)上找的內(nèi)容了,慢慢看吧。

 

 

如何創(chuàng)建WebView:

    1、添加權(quán)限:AndroidManifest.xml中必須使用許可"android.permission.INTERNET",否則會(huì)出Web page not available錯(cuò)誤。
    2、在要Activity中生成一個(gè)WebView組件:WebView webView = new WebView(this);
    3、設(shè)置WebView基本信息:
          如果訪問(wèn)的頁(yè)面中有Javascript,則webview必須設(shè)置支持Javascript。
          webview.getSettings().setJavaScriptEnabled(true);  
          觸摸焦點(diǎn)起作用
          requestFocus();//如果不設(shè)置,則在點(diǎn)擊網(wǎng)頁(yè)文本輸入框時(shí),不能彈出軟鍵盤(pán)及不響應(yīng)其他的一些事件。
          取消滾動(dòng)條
          this.setScrollBarStyle(SCROLLBARS_OUTSIDE_OVERLAY);
    4、設(shè)置WevView要顯示的網(wǎng)頁(yè):
          互聯(lián)網(wǎng)用:webView.loadUrl("          本地文件用:webView.loadUrl("    5、如果希望點(diǎn)擊鏈接由自己處理,而不是新開(kāi)Android的系統(tǒng)browser中響應(yīng)該鏈接。
          給WebView添加一個(gè)事件監(jiān)聽(tīng)對(duì)象(WebViewClient)      
        
          并重寫(xiě)其中的一些方法
                shouldOverrideUrlLoading:對(duì)網(wǎng)頁(yè)中超鏈接按鈕的響應(yīng)。
                                          當(dāng)按下某個(gè)連接時(shí)WebViewClient會(huì)調(diào)用這個(gè)方法,并傳遞參數(shù):按下的url
                onLoadResource   
                onPageStart  
                onPageFinish  
                onReceiveError
                onReceivedHttpAuthRequest

    6、如果用webview點(diǎn)鏈接看了很多頁(yè)以后,如果不做任何處理,點(diǎn)擊系統(tǒng)“Back”鍵,整個(gè)瀏覽器會(huì)調(diào)用finish()而結(jié)束自身,如果希望瀏覽的網(wǎng)頁(yè)回退而不是退出瀏覽器,需要在當(dāng)前Activity中處理并消費(fèi)掉該Back事件。
       覆蓋Activity類(lèi)的onKeyDown(int keyCoder,KeyEvent event)方法。
    public boolean onKeyDown(int keyCoder,KeyEvent event){
                        if(webView.canGoBack() && keyCoder == KeyEvent.KEYCODE_BACK){
                              webview.goBack();   //goBack()表示返回webView的上一頁(yè)面


                                 return true;
                           }
                        return false;
                   }

  WebView相關(guān)問(wèn)題注意:

Android的webView很強(qiáng)大,其實(shí)就是一個(gè)瀏覽器,你可以把它嵌入到你想要的位置,我這里遇到兩個(gè)問(wèn)題,就是怎么知道網(wǎng)頁(yè)的加載進(jìn)度和加載網(wǎng)頁(yè)時(shí),
點(diǎn)擊網(wǎng)頁(yè)里面的鏈接還是在當(dāng)前的webview里跳轉(zhuǎn),不想跳到瀏覽器那邊,解決辦法如下:

//此方法可以處理webview 在加載時(shí)和加載完成時(shí)一些操作
webView.setWebChromeClient(new WebChromeClient(){
  @Override
  public void onProgressChanged(WebView view, int newProgress) {
    if(newProgress==100){                        // 這里是設(shè)置activity的標(biāo)題, 也可以根據(jù)自己的需求做一些其他的操作
          title.setText("加載完成");
     }else{
     title.setText("加載中.......");

      }
    }
});


webView.setWebViewClient(new WebViewClient(){
  @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {  //重寫(xiě)此方法表明點(diǎn)擊網(wǎng)頁(yè)里面的鏈接還是在當(dāng)前的webview里跳轉(zhuǎn),不跳到瀏覽器那邊
       view.loadUrl(url);
       return true;
  }

        @Override
public void onReceivedSslError(WebView view, SslErrorHandler handler, android.net.http.SslError error) { // 重寫(xiě)此方法可以讓webview處理https請(qǐng)求
handler.proceed();
}

});

 

 

 

下面的一篇文章是如何在WebView里面加入進(jìn)度步的方法,大家可以參考。

打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
Android 嵌入網(wǎng)頁(yè),為H5開(kāi)發(fā)做伏筆
Android WebView使用基礎(chǔ)
webView詳解
Android: 在WebView中獲取網(wǎng)頁(yè)源碼
Android WebView使用實(shí)例(html5、文件下載和遠(yuǎn)程URL)
7.5.1 WebView(網(wǎng)頁(yè)視圖)基本用法
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服