android网路功能很强大,webview组件支持直接加载网页,可以将其视为一个浏览器,要实现该功能,具体步骤如下
1、在布局文件中声明webview
2、在activity中实例化webview
3、调用webview的loadurl()方法,加载指定的url地址网页
4、为了让webview能够响应超链接功能,调用setwebviewclient()方法,设置webview客户端
5、为了让webview支持回退功能,覆盖onkeydown()方法
6、一定要注意:在androidmanifest.xml文件中添加访问互联网的权限,否则不能显示
14fcbeebaaa575a2797214c2b459939a
webviewtest.java
/*
* @author hualang
*/
package org.hualang.webview;
import android.app.activity;
import android.os.bundle;
import android.view.keyevent;
import android.webkit.webview;
import android.webkit.webviewclient;
public class webviewtest extends activity {
/** called when the activity is first created. */
private webview webview;
@override
public void oncreate(bundle savedinstancestate) {
super.oncreate(savedinstancestate);
setcontentview(r.layout.main);
webview=(webview)findviewbyid(r.id.webview);
//设置webview属性,能够执行javascript脚本
webview.getsettings().setjavascriptenabled(true);
//加载url内容
webview.loadurl("http://www.baidu.com");
//设置web视图客户端
webview.setwebviewclient(new mywebviewclient());
}
//设置回退
public boolean onkeydown(int keycode,keyevent event)
{
if((keycode==keyevent.keycode_back)&&webview.cangoback())
{
webview.goback();
return true;
}
return super.onkeydown(keycode,event);
}
//web视图客户端
public class mywebviewclient extends webviewclient
{
public boolean shouldoverviewurlloading(webview view,string url)
{
view.loadurl(url);
return true;
}
}
}
main.xml
<?xml version="1.0" encoding="utf-8"?>
<linearlayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<webview
android:id="@+id/webview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
/>
</linearlayout>
运行结果如下:
以上就是android ui控件系列:webview(网络视图)的内容。