在android应用中,有时要加载一个网页,如果能配上一个进度条就更好了,而android 中提供了其很好的支持,

其中webView的一系列用法,比如

webView.getSettings().setJavaScriptEnabled(true); //设置可以使用javascript
webView.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY); //设置滚动条风格
webView.setHorizontalScrollBarEnabled(false);
webView.getSettings().setSupportZoom(true);
webView.getSettings().setBuiltInZoomControls(true); //设置可以支持缩放
webView.setInitialScale(25); //为25%,最小缩放等级 ,可以在这里根据需求来设置缩放比例.
webView.setHorizontalScrollbarOverlay(true);
下面是一个例子程序,先帖:

主程序:

public class WebPageLoader extends Activity
02
{
03
final Activity activity = this;
04
@Override
05
public void onCreate(Bundle savedInstanceState)
06
{
07
super.onCreate(savedInstanceState);
08
this.getWindow().requestFeature(Window.FEATURE_PROGRESS);
09
setContentView(R.layout.main);
10
WebView webView = (WebView) findViewById(R.id.webView);

11
webView.getSettings().setJavaScriptEnabled(true);
12
webView.getSettings().setSupportZoom(true);
//点击链接在当前browser中响应,而不是新开Android系统browser中响应该链接
13
webView.setWebChromeClient(new WebChromeClient()
14
{
15
public void onProgressChanged(WebView view, int progress)
16
{
17
activity.setTitle("Loading...");
18
activity.setProgress(progress * 100);
19
if(progress == 100){
20
activity.setTitle(R.string.app_name);
21
}
22
}
23
);
24
webView.setWebViewClient(new WebViewClient() {
25

26
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl)
27
{ // Handle the error
28

29
}
30

31
public boolean shouldOverrideUrlLoading(WebView view, String url)
32
{
33
view.loadUrl(url);
34
return true;
35
}
36
});
37
webView.loadUrl("http://www.sohu.com");
38
}
39
}

而进度条的使用是在new出一个setWebChromeClient后,可以在内部类中写 onProgressChanged事件

在WebView的设计中,不是什么事都要WebView类干的,有些杂事是分给其他人的,这样WebView专心干好自己的解析、渲染工作就行了。WebViewClient 就是帮助WebView处理各种通知、请求事件的,具体来说包括:

WebChromeClient是辅助WebView处理Javascript的对话框,网站图标,网站title,加载进度等

判断加载的页面URL地址是否正确:
if(URLUtil.isNetworkUrl(url)==true)

Android中使用WebView, WebChromeClient和WebViewClient加载网页的更多相关文章

  1. Android中使用WebView, WebChromeClient和WebViewClient加载网页 (能够执行js)

    Android中使用WebView, WebChromeClient和WebViewClient加载网页   在android应用中,有时要加载一个网页,如果能配上一个进度条就更好了,而android ...

  2. android WebView, WebChromeClient和WebViewClient加载网页基本用法

    WebView, WebChromeClient和WebViewClient加载网页基本用法 webview是android中的浏览器控件,在一些手机应用中常会用到b/s模式去开发应用,这时webvi ...

  3. Android中ViewPager+Fragment取消(禁止)预加载延迟加载(懒加载)问题解决方案

    转载请注明出处:http://blog.csdn.net/linglongxin24/article/details/53205878本文出自[DylanAndroid的博客] Android中Vie ...

  4. 混合开发(一)——WebView开发高级技巧之加载网页以及JavaScript,加载进度条

    混合开发(一)--WebView开发高级技巧之加载网页以及JavaScript,加载进度条 现在关于混合开发也越来越多了,很多人喜欢跟随,比如HB,比如RN,其实这东西很早就有这么一个概念了,而且说实 ...

  5. Android中使用WebView实现全屏切换播放网页视频

    首先写布局文件activity_main.xml: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/an ...

  6. Android中自定义ListView实现上拉加载更多和下拉刷新

    ListView是Android中一个功能强大而且很常用的控件,在很多App中都有ListView的下拉刷新数据和上拉加载更多这个功能.这里我就简单记录一下实现过程. 实现这个功能的方法不止一个,Gi ...

  7. Android中高效的显示图片之一 ——加载大图

    在网上看了不少文章,发现还是官方文档介绍最详细,把重要的东西简单摘要出来.详细可看官方文档地址 ( http://www.bangchui.org/read.php?tid=9 ) . 在应用中显示图 ...

  8. Android中的WebView进行直接加载网页(要注意解决权限问题)

    我们都知道Android的网络功能很不错,当然Android中WebView组件也挺不错,可以直接进行加载网页,我们可以把这个看做一个小型的浏览器\ [注]以下的一些内容我翻译了一下文档,可能有些翻译 ...

  9. Android 中的 WebView实现 Html5 标签网页加载

    自Android 4.4起,Android中的WebView开始基于Chromium(谷歌浏览器)支持浏览器的一系列功能,webkit解析网页各个节点,这个改变,使得WebView的性能大幅度提升,并 ...

随机推荐

  1. 慕课网-安卓工程师初养成-3-8 Java中的条件运算符

    来源:http://www.imooc.com/code/1306 条件运算符( ? : )也称为 “三元运算符”. 语法形式:布尔表达式 ? 表达式1 :表达式2 运算过程:如果布尔表达式的值为 t ...

  2. 轻松找回Win7桌面“消失”的IE9图标

    打开注册表编辑器(Win+R打开运行窗口,运行regedit命令),依次展开到 [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion ...

  3. 【.NET】单例模式标准写法

    public sealed class Singleton { private static Singleton instance = null; static readonly object pad ...

  4. PowerDesigner英文字段转换中文字段显示

    get_comments.vbs代码如下点击Run Option Explicit ValidationMode = True InteractiveMode = im_Batch Dim mdl ' ...

  5. javascript之for-in循环(for-in Loops)

    for-in循环应该用在非数组对象的遍历上,使用for-in进行循环也被称为“枚举”. 从技术上将,你可以使用for-in循环数组(因为JavaScript中数组也是对象),但这是不推荐的.因为如果数 ...

  6. C语言开源项目

    值得学习的C语言开源项目 - 1. Webbench Webbench是一个在linux下使用的非常简单的网站压测工具.它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的 ...

  7. 2_2数据类型与C#部分语法[wp8特色开发与编程技巧]

    2_2数据类型 -5min 类型介绍 在上个视频中我们构建了我们第一个应用.这一次我们要来了解下c#的数据类型 众所周知,在我们已认知的世界里,我们把文字分为数字与字符.在程序的世界里面我们把数据分为 ...

  8. 使用CSS创建有图标的网站导航菜单

    在我创建的每一个互联网应用中,我都试图避免创建完全由图片组成的菜单.在我看来,网页菜单系统中应该使用文字.这样做也会让菜单变得更干净利落.清晰和易读,不用考虑应用程序如何读取它,以及页面放大的时候也不 ...

  9. linux中sudoers别名规则

    /etc/sudoers 配置文档中别名规则 别名规则定义格式如下: Alias_Type NAME = item1, item2, ... 或 Alias_Type NAME = item1, it ...

  10. LINUX下网站压力测试工具webbench

    wget http://blog.s135.com/soft/linux/webbench/webbench-1.5.tar.gz tar zxvf webbench-1.5.tar.gz cd we ...