android中的webview进度条
16lz
2021-12-21
- importandroid.app.Activity;
- importandroid.graphics.Color;
- importandroid.os.Bundle;
- importandroid.os.Handler;
- importandroid.view.Menu;
- importandroid.view.View;
- importandroid.webkit.WebChromeClient;
- importandroid.webkit.WebView;
- importandroid.webkit.WebViewClient;
- importandroid.widget.LinearLayout;
- importandroid.widget.ProgressBar;
- importandroid.widget.TextView;
- publicclassMainActivityextendsActivity{
- Handlerhandler;
- WebViewwv;
- TextViewtextView;
- ProgressBarprogressBar;
- @Override
- publicvoidonCreate(BundlesavedInstanceState){
- super.onCreate(savedInstanceState);
- //requestWindowFeature(Window.FEATURE_NO_TITLE);
- //getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
- //WindowManager.LayoutParams.FLAG_FULLSCREEN);
- LinearLayoutrootViewLayout=newLinearLayout(this);
- rootViewLayout.setOrientation(LinearLayout.VERTICAL);
- textView=newTextView(this);
- textView.setTextColor(Color.RED);
- //生成水平进度条
- progressBar=newProgressBar(this,null,android.R.attr.progressBarStyleHorizontal);
- wv=newWebView(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(newWebViewClient(){
- @Override
- publicvoidonPageFinished(WebViewview,Stringurl){
- //TODOAuto-generatedmethodstub
- super.onPageFinished(view,url);
- //页面下载完毕,却不代表页面渲染完毕显示出来
- //WebChromeClient中progress==100时也是一样
- if(wv.getContentHeight()!=0){
- //这个时候网页才显示
- }
- }
- @Override
- publicbooleanshouldOverrideUrlLoading(WebViewview,Stringurl){
- //TODOAuto-generatedmethodstub
- //自身加载新链接,不做外部跳转
- view.loadUrl(url);
- returntrue;
- }
- });
- wv.setWebChromeClient(newWebChromeClient(){
- @Override
- publicvoidonProgressChanged(WebViewview,intnewProgress){
- //TODOAuto-generatedmethodstub
- 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
- publicbooleanonCreateOptionsMenu(Menumenu){
- getMenuInflater().inflate(R.menu.activity_main,menu);
- returntrue;
- }
- }
更多相关文章
- Android中Dialog对话框使用总结及demo
- Android(安卓)设置dialog在底部显示
- android 全屏显示
- Android(安卓)Notification不显示时间
- Android(安卓)计算控件尺寸
- Android(安卓)微博布局风格
- android软键盘的显示与隐藏
- Android路径大全
- android创建设置页面