Android仿微信公众号文章页面加载进度条的实现方法-创新互联

这篇文章将为大家详细讲解有关Android仿微信公众号文章页面加载进度条的实现方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

目前创新互联公司已为超过千家的企业提供了网站建设、域名、虚拟空间、网站托管运营、企业网站设计、渝水网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。

详细实现步骤如下 :

1、自定义一个ProgressWebView 继续 Webview

@SuppressWarnings("deprecation")
public class ProgressWebView extends WebView {

 private ProgressBar progressbar;

 public ProgressWebView(Context context) {
 super(context);
 init(context);
 }

 private void init(Context context) {
 progressbar = new ProgressBar(context, null,
  android.R.attr.progressBarStyleHorizontal);
 progressbar.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,
  6, 0, 0));
 progressbar.setProgressDrawable(this.getResources().getDrawable(
  R.drawable.btn_progress_webview));
 addView(progressbar);
 setWebChromeClient(new WebChromeClient());
 }

 public ProgressWebView(Context context, AttributeSet attrs) {
 super(context, attrs);
 init(context);
 }

 public class WebChromeClient extends android.webkit.WebChromeClient {
 @Override
 public void onProgressChanged(WebView view, int newProgress) {
  if (newProgress == 100) {
  progressbar.setVisibility(GONE);
  } else {
  if (progressbar.getVisibility() == GONE)
   progressbar.setVisibility(VISIBLE);
  progressbar.setProgress(newProgress);
  }
  super.onProgressChanged(view, newProgress);
 }

 }

 @Override
 protected void onScrollChanged(int l, int t, int oldl, int oldt) {
 LayoutParams lp = (LayoutParams) progressbar.getLayoutParams();
 lp.x = l;
 lp.y = t;
 progressbar.setLayoutParams(lp);
 super.onScrollChanged(l, t, oldl, oldt);
 }
}

网页标题:Android仿微信公众号文章页面加载进度条的实现方法-创新互联
链接地址:http://myzitong.com/article/dddhpo.html