专栏首页恩蓝脚本Android WebView实现顶部进度条

Android WebView实现顶部进度条

项目中用到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);

 }

}

以上就是本文的全部内容,希望对大家的学习有所帮助。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 利用SpannableString和ImageSpan在textview中插入图片的方法

    默认的TextView是无法显示图片的。所以想要实现这个功能得需要我们自己为其添加一个方法。

    砸漏
  • Android颜色配置器配置方法

    想设置颜色直接设置background的属性或者其他的color属性。随便设置一个颜色如#000,再点击左边的颜色方块,弹出颜色选择器选择颜色

    砸漏
  • 使用Android studio3.6的java api方式调用opencv

    (2)File- New- Import Module,然后选择自己的java-opencv的相对应路径,比如,D:\Android\OpenCV-androi...

    砸漏
  • Android 滑动渐变背景Toolbar、点击置顶ScrollView

    这个置顶是滑动的置顶,不包括外层布局。 好了,效果图看到了,你有没有动力开始写代码呢? 创建一个SlideLayoutDemo的项目 然后在res下新建一...

    晨曦_LLW
  • achartengine之折线图

    问题在文章的最后,大致说来就是折线图,如果点的个数大于3个的时候,不是所有的点都显示对应的值的,这是为什么呢,本来以为是小问题,但两天了还没找到原因) 将前...

    xiangzhihong
  • RecyclerView实现纵向和横向滚动

    今天学习RecyclerView,下边来说一下实现数据垂直滚动和数据横向滚动。先上图为敬:

    砸漏
  • Android XRecyclerView实现多条目加载

    本文实例为大家分享了Android实现多条目加载展示的具体代码,供大家参考,具体内容如下

    砸漏
  • Android颜色配置器配置方法

    想设置颜色直接设置background的属性或者其他的color属性。随便设置一个颜色如#000,再点击左边的颜色方块,弹出颜色选择器选择颜色

    砸漏
  • Android开发实现Files文件读取解析功能示例

    本文实例讲述了Android开发实现Files文件读取解析功能。分享给大家供大家参考,具体如下:

    砸漏
  • Android使用RecyclerView仿美团分类界面

    RecyclerView目前来说对大家可能不陌生了。由于在公司的项目中,我们一直用的listview和gridview。某天产品设计仿照美团的分类界面设计了一个...

    砸漏

扫码关注云+社区

领取腾讯云代金券