当我们需要在Android的应用程序中,展示一些网页时,我们可以使用Android中的WebView控件。借助这个控件我们可以在程序中嵌入一个浏览器,用来展示各种网页 。
新建一个WebViewTest项目,修改activity-main.xml中的代码:<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<WebView
android:id="@+id/web_view"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>
</pre><pre name="code" class="java">我们在布局文件中使用了WebView,用来显示网页。给他设置一个id,充满整个屏幕。
然后修改MainActivity中的代码:<pre name="code" class="java">public class MainActivity extends Activity {
private WebView webView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
webView = (WebView) findViewById(R.id.web_view);
webView.getSettings().setJavaScriptEnabled(true);
webView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url); // 根据传入的参数再去加载新的网页
return true; // 表示当前WebView可以处理打开新网页的请求,不用借助系统浏览器
}
});
webView.loadUrl("http://www.baidu.com");
}
}
<p>MainActivity中的代码比较短,先使用findViewById()方法获取到了WebView的实例,然后调用WebView的getSettings()方法可以去设置浏览器的属性,这里我们只调用了setJavaScriptEnabled()方法来让WebView支持JavaScript脚本。</p><p>调用了WebView的setWebViewClient()方法,传入了WebViewClient的匿名类作为参数,然后重写shouldOverrideUrlLoading()方法。这表明当需要从一个网页跳转到另一个网页时,我们希望目标网页仍然在当前WebView中显示,而不是打开系统浏览器。</p><p>最后调用WebView的loadUrl()方法,将网址传入,即可展示相应网页的内容。</p>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<WebView
android:id="@+id/web_view"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>
</pre><pre name="code" class="java">我们在布局文件中使用了WebView,用来显示网页。给他设置一个id,充满整个屏幕。
然后修改MainActivity中的代码:<pre name="code" class="java">public class MainActivity extends Activity {
private WebView webView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
webView = (WebView) findViewById(R.id.web_view);
webView.getSettings().setJavaScriptEnabled(true);
webView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url); // 根据传入的参数再去加载新的网页
return true; // 表示当前WebView可以处理打开新网页的请求,不用借助系统浏览器
}
});
webView.loadUrl("http://www.baidu.com");
}
}
<p>MainActivity中的代码比较短,先使用findViewById()方法获取到了WebView的实例,然后调用WebView的getSettings()方法可以去设置浏览器的属性,这里我们只调用了setJavaScriptEnabled()方法来让WebView支持JavaScript脚本。</p><p>调用了WebView的setWebViewClient()方法,传入了WebViewClient的匿名类作为参数,然后重写shouldOverrideUrlLoading()方法。这表明当需要从一个网页跳转到另一个网页时,我们希望目标网页仍然在当前WebView中显示,而不是打开系统浏览器。</p><p>最后调用WebView的loadUrl()方法,将网址传入,即可展示相应网页的内容。</p>