Android中WebView加載網(wǎng)頁設(shè)置進(jìn)度條
本文實(shí)例為大家分享了Android中WebView加載網(wǎng)頁設(shè)置進(jìn)度條的具體代碼,供大家參考,具體內(nèi)容如下
效果:
xml:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content"> <RelativeLayout android:layout_width="match_parent" android:layout_height="48dp" android:background="@color/colorPrimary" android:layout_weight="0"> <ImageView android:id="@+id/activity_add_authentication_back" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/activity_news_back" android:layout_marginLeft="10dp"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="網(wǎng)頁" android:textColor="@color/white" android:layout_centerVertical="true" android:layout_centerHorizontal="true" android:textSize="18sp"/> </RelativeLayout> </LinearLayout> <ProgressBar android:id="@+id/progressBar1" style="?android:attr/progressBarStyleHorizontal" android:layout_width="match_parent" android:layout_height="3dip" android:progressDrawable="@drawable/pg" android:visibility="gone" /> <WebView android:id="@+id/web_view" android:layout_width="match_parent" android:layout_height="match_parent"> </WebView> </LinearLayout>
pg.xml
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" > <item android:id="@android:id/background"> <shape> <corners android:radius="2dp" /> <gradient android:angle="270" android:centerColor="#E3E3E3" android:endColor="#E6E6E6" android:startColor="#C8C8C8" /> </shape> </item> <item android:id="@android:id/progress"> <clip> <shape> <corners android:radius="2dp" /> <gradient android:centerColor="#4AEA2F" android:endColor="#31CE15" android:startColor="#5FEC46" /> </shape> </clip> </item> </layer-list>
Java文件:
package com.vimi8.app.activity; import android.content.Context; import android.os.Bundle; import android.view.KeyEvent; import android.view.View; import android.webkit.JavascriptInterface; import android.webkit.WebChromeClient; import android.webkit.WebSettings; import android.webkit.WebView; import android.webkit.WebViewClient; import android.widget.ProgressBar; import android.widget.Toast; import com.vimi8.app.R; import com.vimi8.app.framework.ActivityBase; /** * Created by vimi8 on 2017/4/18. */ public class YyxText extends ActivityBase { private WebView myWebView ; private ProgressBar pg1; @Override protected void initVariables(Bundle savedInstanceState) { } @Override protected int initLayoutViews() { return R.layout.yyx_text; } @Override protected void initViewsAndStaticData() { //獲取webview控件 myWebView = (WebView) findViewById(R.id.web_view); pg1=(ProgressBar) findViewById(R.id.progressBar1); //加載服務(wù)器上的頁面 myWebView.loadUrl("http://www.baidu.com"); //加載本地中的html //myWebView.loadUrl("file:///android_asset/www/test2.html"); //加上下面這段代碼可以使網(wǎng)頁中的鏈接不以瀏覽器的方式打開 myWebView.setWebViewClient(new WebViewClient()); //得到webview設(shè)置 WebSettings webSettings = myWebView.getSettings(); //允許使用javascript webSettings.setJavaScriptEnabled(true); //將WebAppInterface于javascript綁定 myWebView.addJavascriptInterface(new WebAppInterface(this), "Android"); //設(shè)置經(jīng)度條 myWebView.setWebChromeClient(new WebChromeClient(){ @Override public void onProgressChanged(WebView view, int newProgress) { // TODO 自動(dòng)生成的方法存根 if(newProgress==100){ pg1.setVisibility(View.GONE);//加載完網(wǎng)頁進(jìn)度條消失 } else{ pg1.setVisibility(View.VISIBLE);//開始加載網(wǎng)頁時(shí)顯示進(jìn)度條 pg1.setProgress(newProgress);//設(shè)置進(jìn)度值 } } }); } @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if ((keyCode == KeyEvent.KEYCODE_BACK) && myWebView.canGoBack()) { myWebView.goBack(); return true; } return super.onKeyDown(keyCode, event); } public class WebAppInterface { Context mContext; /** Instantiate the interface and set the context */ WebAppInterface(Context c) { mContext = c; } /** Show a toast from the web page */ @JavascriptInterface public void showToast(String toast) { Toast.makeText(mContext, toast, Toast.LENGTH_SHORT).show(); } } }
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Android中WebView加載網(wǎng)頁設(shè)置進(jìn)度條
- Android Webview添加網(wǎng)頁加載進(jìn)度條實(shí)例詳解
- Android 進(jìn)度條 ProgressBar的實(shí)現(xiàn)代碼(隱藏、出現(xiàn)、加載進(jìn)度)
- Android自定義View仿華為圓形加載進(jìn)度條
- Android自定義View實(shí)現(xiàn)加載進(jìn)度條效果
- Android開發(fā)之ProgressBar字體隨著進(jìn)度條的加載而滾動(dòng)
- Android自定義View基礎(chǔ)開發(fā)之圖片加載進(jìn)度條
- Android自定義帶加載動(dòng)畫效果的環(huán)狀進(jìn)度條
- Android自定義帶進(jìn)度條WebView仿微信加載過程
- Android自定義View實(shí)現(xiàn)圓形加載進(jìn)度條
相關(guān)文章
Android12?藍(lán)牙適配的實(shí)現(xiàn)步驟
本文主要介紹了Android12?藍(lán)牙適配的實(shí)現(xiàn)步驟,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-04-04Android 讓自定義TextView的drawableLeft與文本一起居中
本文主要介紹Android 自定義控件TextView顯示居中問題,在開發(fā)過程中經(jīng)常會(huì)遇到控件的重寫,這里主要介紹TextView的drawableLeft與文本一起居中的問題2016-07-07Android屬性動(dòng)畫實(shí)現(xiàn)圖片從左到右逐漸消失
這篇文章主要介紹了Android屬性動(dòng)畫實(shí)現(xiàn)圖片從左到右逐漸消失,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-11-11移動(dòng)端android上line-height不居中的問題的解決
現(xiàn)在越來越多的移動(dòng)界面使用rem適配,最近發(fā)現(xiàn)了移動(dòng)端android上line-height不居中的問題,今日就來介紹一下解決的方法,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2018-03-03Android Handler中的休眠喚醒實(shí)現(xiàn)詳解
這篇文章主要為大家介紹了Android Handler中的休眠喚醒實(shí)現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-01-01詳解Retrofit Interceptor(攔截器) 攔截請(qǐng)求并做相關(guān)處理
本篇文章主要介紹了詳解Retrofit Interceptor(攔截器) 攔截請(qǐng)求并做相關(guān)處理,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-04-04