WebView with stylish Progress Bar

Add this line in Manifests

Internet Permission
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

use this line code in manifest.

in Applicatin tag

Http to https
android:usesCleartextTraffic="true"

Lottie Animation For Stylish Progress Bar.

Lottie Dependencies Use Build.gradle

Lottie Dependencies
//Lottie anim
    implementation "com.airbnb.android:lottie:3.4.0"

add this code in webview activity.xml Example : activity_main.xml

You must use this code in RelativeLayout

activity_main.xml
   <WebView
        android:id="@+id/webview"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        />

    <com.airbnb.lottie.LottieAnimationView
        android:visibility="invisible"
        android:layout_centerInParent="true"
        android:id="@+id/loading"
        android:layout_width="130dp"
        android:layout_height="130dp"
        app:lottie_rawRes="@raw/loading"
        app:lottie_autoPlay="true"
        app:lottie_loop="true"/>

Java Code Use this code in java

Java for stylish Progress bar
      

public class MainActivity extends AppCompatActivity {

    WebView webview;
    LottieAnimationView loading;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        getWindow().requestFeature(Window.FEATURE_PROGRESS);
        setContentView(R.layout.activity_main);

        webview = findViewById(R.id.webview);
        loading = findViewById(R.id.loading);

        getWindow().setFeatureInt( Window.FEATURE_PROGRESS, Window.PROGRESS_VISIBILITY_ON);

        webview = (WebView) findViewById(R.id.webview);
        webview.setWebChromeClient(new WebChromeClient() {
            public void onProgressChanged(WebView view, int progress)
            {
                //Make the bar disappear after URL is loaded, and changes string to Loading...
                //setTitle("Loading...");
                setProgress(progress * 100); //Make the bar disappear after URL is loaded

                // Return the app name after finish loading
                if(progress == 100){
                    loading.setVisibility(View.INVISIBLE);
                }else {
                    loading.setVisibility(View.VISIBLE);
                }

            }
        });
        webview.setWebViewClient(new HelloWebViewClient());
        webview.getSettings().setJavaScriptEnabled(true);
        webview.loadUrl("http://www.google.com");



    }// OnCreate method Close Here =======================

    private class HelloWebViewClient extends WebViewClient {
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            view.loadUrl(url);
            return true;
        }
    }
} // Public Class Close Here===============
      
      

If you don't know how to implement this please watch this video

Next Post Previous Post
1 Comments
  • Golapgonj Onlien Shop
    Golapgonj Onlien Shop September 1, 2023 at 3:17 PM

    Clicking on the button shows the video of the loading animation

Add Comment
comment url