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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Chrome Devtool 断点[通俗易懂]

    Chrome Devtool 断点[通俗易懂]代码行断点代码中的代码行断点console.log(‘a’);console.log(‘b’);debugger;console.log(‘c’);DOM更改断点单击元素选项卡转到要设置断点的元素右键单击该元素将鼠标悬停在Break上,然后选择Subtree修改、属性修改或节点删除DOM更改断点的类型子树修改属性修改节点移除XHR/获取断点当在XHR请求URL包含特定字符串时中断展开XHRBreakpoints点击+输入字符串。当此字符串出现在X

    2022年9月26日
    3
  • 关于Bigdecimal比较大小

    关于Bigdecimal比较大小java中对bigdimical比较大小一般用的是bigdemical的compareTo方法;另,

    2022年7月1日
    23
  • python爬虫-数据解析(xpath)

    python爬虫-数据解析(xpath)

    2021年4月16日
    190
  • centos7 apache 安装配置步骤[通俗易懂]

    centos7 apache 安装配置步骤[通俗易懂]1检查、删除、安装rpm-qa|grephttpd//检查是否安装apacherpm-e包名–nodeps//若有则删除PS:我没有删除,直接用的服务器原来的。yuminstallhttpd//安装,根据提示,输入Y即可安装成功2启动、测试systemctlstarthttpd//restart重启stop停止3查看 apache状…

    2025年12月5日
    5
  • 恐怖的vs2005 sp1安装过程.[通俗易懂]

    恐怖的vs2005 sp1安装过程.[通俗易懂]今天刚把这个400多M的sp1从公司拷回来,算计着这样可以省掉不少下载时间.可是,可是,竟然没有想到,安装过程是如此的恐怖.首先,我的C盘空间明显的感到害羞,只有1.5G的剩余空间了,赶

    2022年7月2日
    26
  • IP地址划分[通俗易懂]

    IP地址划分[通俗易懂]IP地址划分1IP地址分类(1)A类IP地址一个A类IP地址由1字节的网络地址和3字节主机地址组成,网络地址的最高位必须是“0”,地址范围:1.0.0.1——126.255.255.254二进制表示为:00000001000000000000000000000001——01111110111111111111111111111110可用的A类网络有126个,每个网络能容纳…

    2022年6月11日
    52

发表回复

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

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