上了快两个星期班了,也没有什么具体的任务安排给我,只是有些小的需求让我改动一下,总体来说,现在我比较闲。又想到自己android的基础其实很薄弱,所以决定重新开始,深入的学习android。
从webview开始吧。
使用webview的方式有两种。
一、在布局文件中声明,在activity中实例化
布局文件中:
使用标签来得到一个webview的视图
activity中:
(webview是Webview实例化后的对象)
1.让webview可以执行Javascript的脚本:webview.getSettings().setJavaScriptEnabled(true);
2.加载网页:webview.loadUrl("http://www.baidu.com");
3.需要注意的是,如果要想点击网页中的超链接依然在该视图中显示,而不跳转到系统的Browser,可以通过重写WebContentViewClient类中的shouldOverrideUrlLoading方法。
webview.setWebViewClient(new WebViewClient(){
public boolean shouldOverrideUrlLoading(final WebView view, final String url) {
loadurl(view,url);//载入网页
return true;
}
4.可以通过重写Activity中onKeyDown()的方法,设置在webview下,按back键会返回上一个浏览的网页
public boolean onKeyDown(int keyCode, KeyEvent event) {
if((keyCode==KeyEvent.KEYCODE_BACK)&&webview.canGoBack()){
webview.goBack();//goBack()表示返回WebView的上一个页面
return true;
}else if(keyCode == KeyEvent.KEYCODE_BACK){
this.finish();
return true;
}
return super.onKeyDown(keyCode, event);
}
二、在activity中直接实例化WebView组件
WebView webView = new WebView(this);
再通过Activity的setContentView()方法,将webview作为参数传进去。
不过我在用这种方法的时候,程序直接跳转到了系统的browser中打开了网页,返回到该成程序时才会自己加载网页显示。
所以以后还是用第一种,而且,第一种将webview置于布局文件中,更为灵活和可控。
三、WebView的一些实用的方法
滚动条的风格:webview.setScrollBarStyle(0);设置为0的时候,不给滚动条留下空间,滚动条直接覆盖在网页上。
设置背景色:webview.setBackgroundColor(0);设置为0的时候,是透明的。
适应横竖屏:webview.setInitialScale(39);设置为39时适应竖屏,57时适应横屏。
很多设置可以通过webview.getSettings()中的方法来实现
webview.getSettings().setBuiltInZoomControls(true);true为可以触摸放大缩小
webView.getSettings().setUseWideViewPort(true);双击放大,双击缩小
webView.getSettings().setBlockNetworkImage(true);将图片放在最后加载
ebView.getSettings().setBlockNetworkImage(true);提高渲染的优先级