android的WebView进度条

android的WebView进度条

import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.os.Handler;
import android.view.Menu;
import android.view.View;
import android.webkit.WebChromeClient;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.LinearLayout;
import android.widget.ProgressBar;
import android.widget.TextView;
 
public class MainActivity extends Activity {
        Handler handler;
        WebView wv;
        TextView textView;
        ProgressBar progressBar;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
//        requestWindowFeature(Window.FEATURE_NO_TITLE);
//                getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
//                                WindowManager.LayoutParams.FLAG_FULLSCREEN);
                LinearLayout rootViewLayout = new LinearLayout(this);
                rootViewLayout.setOrientation(LinearLayout.VERTICAL);
                textView = new TextView(this);
                textView.setTextColor(Color.RED);
                //生成水平进度条
                progressBar = new ProgressBar(this,null,android.R.attr.progressBarStyleHorizontal);
                wv = new WebView(this);
                rootViewLayout.addView(textView);
                rootViewLayout.addView(progressBar);
                rootViewLayout.addView(wv);
        setContentView(rootViewLayout);
         wv.getSettings().setAllowFileAccess(true); 
         wv.getSettings().setJavaScriptEnabled(true);
         //这里吐槽一下这J8网站 写你妹的排队,排你大爷
        wv.loadUrl("http://www.12306.cn");
        wv.setWebViewClient(new WebViewClient(){
                        @Override
                        public void onPageFinished(WebView view, String url) {
                                // TODO Auto-generated method stub
                                super.onPageFinished(view, url);
                                //页面下载完毕,却不代表页面渲染完毕显示出来
                                //WebChromeClient中progress==100时也是一样
                                if (wv.getContentHeight() != 0) {
                                        //这个时候网页才显示
                                }
                        }
                        @Override
                        public boolean shouldOverrideUrlLoading(WebView view, String url) {
                                // TODO Auto-generated method stub
                                //自身加载新链接,不做外部跳转
                                view.loadUrl(url);
                                return true;
                        }
                         
        });
         
        wv.setWebChromeClient(new WebChromeClient(){
                @Override
                public void onProgressChanged(WebView view, int newProgress) {
                        // TODO Auto-generated method stub
                        super.onProgressChanged(view, newProgress);
                        //这里将textView换成你的progress来设置进度
//                        if (newProgress == 0) {
//                                        textView.setVisibility(View.VISIBLE);
//                                        progressBar.setVisibility(View.VISIBLE);
//                                }
                        textView.setText(newProgress+"");
                        textView.postInvalidate();
                        progressBar.setProgress(newProgress);
                        progressBar.postInvalidate();
//                        if (newProgress == 100) {
//                                        textView.setVisibility(View.GONE);
//                                        progressBar.setVisibility(View.GONE);
//                                }
                }
        });
    }
 
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;
    }
}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/110181.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 免费的mysql可视化工具_centos7安装oracle

    免费的mysql可视化工具_centos7安装oracle以前安装过几十次的mysql。今天还是遇到问题(虽然是因为是局域网ip不通无法远程连接),记录一个完整的安装过程。1.yum卸载yum安装之后如果需要卸载1.命令rpm-qa|grep-imysql或者yumlistinstalled|grepmysql查看安装的mysql安装包将查出来的安装包通过yumremove卸载yumremovemysql-comm…

    2022年9月23日
    5
  • 国外全能免费主页空间

    国外全能免费主页空间国外全能免费主页空间,支持ASP.NET、PHP、CGI等 [来源:不详|作者:佚名|时间:2007-6-622:19:28|收藏本文]   WebHostforASP.NET提供15M免费主页空间,每月2G的流量限制,web方式上传管理文件,支持ASP、ASP.NET、PHP、Perl、CGI以及Access数据库,无广告。必须拥有顶级域名才能申请,如果您手头上有空

    2022年7月11日
    25
  • js unit8array和java变量之间的关系

    js unit8array和java变量之间的关系unit8array如何同java进行交互最近一个项目遇到了一个二维码转换的问题,厂家给的demo只有js的转换方式,其中用到了Unit8,由于实际应用场景,转换应该由后端java代码进行实现,这里记录一下实现方式。JS对字符串操作的时候,有时候我们会用到UNIT8ARRAY,例如varbinary_string=window.atob(str);vararray=new…

    2025年12月12日
    5
  • springWeb实战

    springWeb实战springWeb实战

    2022年4月24日
    44
  • 高数两个重要极限公式_高数中两个重要公式

    高数两个重要极限公式_高数中两个重要公式(提示说明:其实下面的这些例题都可以直接使用“等价无穷小“”来做)凑成第一个特别重要极限的形式,之后再做处理。把用正弦的格式来代替正切把反三角函数转换成三角函数在做极限题,余弦一般看看是不是一个有界函数。凑成第二个重要极限形式,之后再做处理极限函数是分数形式,且分子与分母很相似,处理成(1+□)的形式,未知数趋向于无穷小或无穷大。待求极限函数有指数的时候,可以往…

    2022年5月3日
    69
  • MinGW安装教程——著名C/C++编译器GCC的Windows版本[通俗易懂]

    前言本文主要讲述如何安装C语言编译器——MinGW,特点是文章附有完整详细的实际安装过程截图,文字反而起说明提示作用。编写本文的原因始于我的一个观点:图片可以比文字传达更多的信息,也能让其他人更容易理解作者的意图及思想。因此,我将安装MinGW的过程和步骤,编写成了这篇以图片为主的教程,为了让看到这篇文章的任何人,都可以很容易按照图片所示正确安装MinGW。一、什么是MinGW…

    2022年4月8日
    70

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号