当前位置: 移动技术网 > 移动技术>移动开发>Android > Android WebView实现顶部进度条

Android WebView实现顶部进度条

2020年03月09日  | 移动技术网移动技术  | 我要评论

项目中用到webview加上进度条放在顶部,让用户知道加载进度情况,可以提高用户体验:

效果:

布局:

<relativelayout

  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:orientation="vertical">
  <webview
   android:id="@+id/webview"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   android:layout_below="@+id/toolbar_container" />

  <progressbar

   android:id="@+id/progressbar"
   style="@style/crowd_item_progressbar"
   android:layout_width="match_parent"
   android:layout_height="3dp"
   android:layout_below="@+id/toolbar_container"
   android:background="@drawable/crowd_progressbar_unselect" />

</relativelayout>

进度条样式:

<style name="crowd_item_progressbar">
  <item name="android:indeterminateonly">false</item>
  <item name="android:progressdrawable">@drawable/crowd_progressbar_background</item>
  <item name="android:minheight">10dp</item>
  <item name="android:maxheight">10dp</item>

</style>

进度图片:

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
 <item
  android:id="@android:id/progress" >
  <clip>
   <shape>
    <solid android:color="@color/selected"/>
    <!--<corners android:radius="1.5dp"/>-->
   </shape>
  </clip>
 </item>
</layer-list>

代码:

public class webchromeclient extends android.webkit.webchromeclient {
  @override

  public void onprogresschanged(webview view, int newprogress) {
   if (newprogress == 100) {

    mprogressbar.setvisibility(gone);
   } else {

    if (mprogressbar.getvisibility() == gone)
     mprogressbar.setvisibility(visible);
    mprogressbar.setprogress(newprogress);

   }

   super.onprogresschanged(view, newprogress);

  }

 }

 @override
 protected void onscrollchanged(int l, int t, int oldl, int oldt) {
  layoutparams lp = (layoutparams) mprogressbar.getlayoutparams();
  lp.x = l;
  lp.y = t;
  mprogressbar.setlayoutparams(lp);
  super.onscrollchanged(l, t, oldl, oldt);

 }

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持移动技术网。

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网