Android中webview的使用

来源:互联网 发布:淘宝买家个人消费贷款 编辑:程序博客网 时间:2024/05/29 02:46

WebView能加载显示网页,可以将其视为一个浏览器。在Android开发中经常可以用到,下面我就简单说说webview的使用吧

1、在Activity布局中加上webview组件;

2、调用Activity的setContentView( )方法来显示网页视图;

3、在Activity中实例化WebView组件,找到布局中的webview;

4、调用WebView的loadUrl()方法,设置WevView要显示的网页:

   互联网调用:webView.loadUrl("http://www.baidu.com");
   本地文件调用:webView.loadUrl("file:///android_asset/XX.html"); 本地文件存放在:assets 文件中

5、需要在AndroidManifest.xml文件中添加权限,否则会出现Web page not available错误。

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


下面是我写的一个简单的例子(可以参考一下):

public class ActivityMall extends Activity {    private WebView mWebView;    ProgressDialog pd;//提示正在加载    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_mall);        pd = ProgressDialog.show(this,"请稍后","正在加载中。。。");        mWebView = (WebView) findViewById(R.id.webview_mall);        mWebView.getSettings().setJavaScriptEnabled(true);//设置WebView属性,能够执行Javascript脚本        mWebView.loadUrl("http://www.baidu.com");//加载需要显示的网页        mWebView.setWebViewClient(new HelloWebViewClient());    }
//用WebView点链接看了很多页以后为了让WebView支持回退功能,需要覆盖覆盖Activity类的onKeyDown()方法,
//如果不做任何处理,点击系统回退剪键,整个浏览器会调用finish()而结束自身,而不是回退到上一页面
@Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {          if ((keyCode == KeyEvent.KEYCODE_BACK) && mWebView.canGoBack()){         mWebView.goBack();                return true;    }    return false;    }
    private class HelloWebViewClient extends WebViewClient{    @Override    public boolean shouldOverrideUrlLoading(WebView view, String url) {        view.loadUrl(url);        pd.dismiss();        return true;    }    }

下面介绍一下WebSettings的常用方法:

1、setJavaScriptEnabled(true);//支持js脚步

2、setPluginsEnabled(true);//支持插件

3、setUseWideViewPort(false);//将图片调整到适合webview的大小

4、setSupportZoom(true);//支持缩放

5、setLayoutAlgorithm(LayoutAlgorithm.SINGLE_COLUMN);//支持内容从新布局

6、supportMultipleWindows(); //多窗口

7、setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);//关闭webview中缓存

8、setAllowFileAccess(true);//设置可以访问文件

9、setNeedInitialFocus(true);//当webview调用requestFocus时为webview设置节点

10、setJavaScriptCanOpenWindowsAutomatically(true);//支持通过JS打开新窗口

11、setLoadsImagesAutomatically(true);//支持自动加载图片





2 0
原创粉丝点击