当前位置: 代码迷 >> Web前端 >> 玩转Android-UI篇-WebView(网络视图)
  详细解决方案

玩转Android-UI篇-WebView(网络视图)

热度:707   发布时间:2012-08-25 10:06:20.0
玩转Android---UI篇---WebView(网络视图)

Android网路功能很强大,WebView组件支持直接加载网页,可以将其视为一个浏览器,要实现该功能,具体步骤如下

?

1、在布局文件中声明WebView

2、在Activity中实例化WebView

3、调用WebView的loadUrl()方法,加载指定的URL地址网页

4、为了让WebView能够响应超链接功能,调用setWebViewClient()方法,设置WebView客户端

5、为了让WebView支持回退功能,覆盖onKeyDown()方法

6、一定要注意:在AndroidManifest.xml文件中添加访问互联网的权限,否则不能显示

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

?

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>

?

?

运行结果如下:



?

1 楼 mvpstevenlin 2012-04-21  
谢谢LZ分享,有个问题这个webview在模拟器中为什么不能响应键盘的回车键打开超链接?
  相关解决方案