人生旅途上了一个脚印

1.什么是WebView

WebView(网络视图)能加载显示网页,可以将其视为一个浏览器。它使用了WebKit渲染引擎加载显示网页.WebView编程也叫浏览器编程,而浏览器编程涉及到html、js和css等等。

今天学习一下如何使用WebView!!!

2.怎么使用WebView

1).WebView的实例化有2种方法:

1.在Activity中实例化WebView组件

WebView webView = new WebView(this);

Activity.setContentView(webView);

2.在布局文件中声明WebView,在Activity中实例化

2.)我们直接在WebView上点击链接的话,,会弹出Android内置的browser浏览器,而不是在我们WebView上打开新窗口!切记切记!所以需要调用setWebViewClient(),传入一个WebViewClient对象,需要重写shouldOverrideUrlLoading()方法。

3).为WebView配置url:webView.loadUrl("");

4).另外在WebView连接打开多个网页时,按回退键的话,不像普通的浏览器broswer是退出app,所以需要重写Activity的OnKeyDown()方法。

5).在AndroidManifest.xml文件中添加网络权限:

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

详细代码

packagecom.mkk.webviewdemo;importandroid.content.Intent;importandroid.net.Uri;importandroid.os.Bundle;importandroid.support.v7.app.ActionBarActivity;importandroid.view.View;importandroid.view.View.OnClickListener;importandroid.webkit.DownloadListener;importandroid.webkit.WebChromeClient;importandroid.webkit.WebView;importandroid.webkit.WebViewClient;importandroid.widget.Button;importandroid.widget.TextView;publicclassMainActivityextendsActionBarActivityimplementsOnClickListener{WebViewwv;Buttonback;Buttonrefresh;TextViewtv;@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);wv=(WebView)findViewById(R.id.wv);back=(Button)findViewById(R.id.bt_back);refresh=(Button)findViewById(R.id.bt_refresh);tv=(TextView)findViewById(R.id.tv);wv.loadUrl("");wv.setWebChromeClient(newWebChromeClient(){@OverridepublicvoidonReceivedTitle(WebViewview,Stringtitle){tv.setText(title);super.onReceivedTitle(view,title);}});wv.setWebViewClient(newWebViewClient(){@OverridepublicbooleanshouldOverrideUrlLoading(WebViewview,Stringurl){view.loadUrl(url);returnsuper.shouldOverrideUrlLoading(view,url);}@OverridepublicvoidonReceivedError(WebViewview,interrorCode,Stringdescription,StringfailingUrl){super.onReceivedError(view,errorCode,description,failingUrl);view.loadUrl("file:///android_asset/error.html");}});wv.setDownloadListener(newDownloadListener(){@OverridepublicvoidonDownloadStart(Stringurl,StringuserAgent,StringcontentDisposition,Stringmimetype,longcontentLength){if(url.endsWith(".apk")){Uriuri=Uri.parse(url);Intenti=newIntent(Intent.ACTION_VIEW,uri);startActivity(i);}}});back.setOnClickListener(this);refresh.setOnClickListener(this);}@OverridepublicvoidonClick(Viewv){switch(v.getId()){caseR.id.bt_back:finish();break;caseR.id.bt_refresh:wv.reload();break;default:break;}}}

布局文件

<RelativeLayoutxmlns:android=""xmlns:tools=""android:layout_width="match_parent"android:layout_height="match_parent"tools:context="com.mkk.webviewdemo.MainActivity"><RelativeLayoutandroid:id="@+id/rl"android:layout_width="match_parent"android:layout_height="50dp"><Buttonandroid:id="@+id/bt_back"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentRight="true"android:text="返回"/><TextViewandroid:id="@+id/tv"android:layout_width="wrap_content"android:layout_height="fill_parent"android:layout_toRightOf="@+id/bt_refresh"android:text=""/><Buttonandroid:id="@+id/bt_refresh"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentLeft="true"android:text="刷新"/></RelativeLayout><WebViewandroid:id="@+id/wv"android:layout_width="match_parent"android:layout_height="match_parent"android:layout_below="@+id/rl"android:layout_marginTop="5dp"/></RelativeLayout>

效果图

3.WebView常用相关方法

WebView常用方法:

getSettings()返回一个WebSettings对象,用来控制WebView的属性设置

loadUrl(String url)加载指定的Url

loadData(String data,String mimeType,String encoding)我想去旅行,一个人背包,一个人旅行,

人生旅途上了一个脚印

相关文章:

你感兴趣的文章:

标签云: