Tuesday, 7 December 2021

How to load url in web view in android

When we want to display any url content in our android application we need to display it in Web view .

So lets see how to load url in android application using Web view.

Here is your .xml file

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">


<ProgressBar
android:id="@+id/progress"
style="@style/Widget.AppCompat.ProgressBar.Horizontal"
android:layout_width="match_parent"
android:layout_height="20dp"
android:layout_marginBottom="-8dp"
android:layout_marginTop="-8dp"/>

<WebView
android:id="@+id/webview"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</LinearLayout>

And after that we have to do code for web view in .java file.

package com.myexample;

import android.os.Bundle;
import android.os.PersistableBundle;
import android.view.View;
import android.webkit.WebChromeClient;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.ProgressBar;

import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;

public class MyActivity extends AppCompatActivity {

WebView webView;
ProgressBar progressBar;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.webivew_layout);

webView = (WebView) findViewById(R.id.webview);
progressBar = (ProgressBar) findViewById(R.id.progress);

webView.setWebChromeClient( new MyWebChromeClient());
webView.setWebViewClient( new webClient());
webView.getSettings().setLoadWithOverviewMode(true);
webView.getSettings().setSupportZoom(true);
webView.getSettings().setJavaScriptEnabled(true);
webView.loadUrl("Http://google.com");

}


public class MyWebChromeClient extends WebChromeClient {
public void onProgressChanged(WebView view, int newProgress) {
progressBar.setVisibility(View.VISIBLE);
progressBar.setProgress(newProgress);
}
}

public class webClient extends WebViewClient {
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}

@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
progressBar.setVisibility(View.GONE);
}
}

@Override
public void onBackPressed() {
if (webView.canGoBack()) {
webView.goBack();
progressBar.setVisibility(View.GONE);
} else {
super.onBackPressed();
}
}
}

This is how we can call any url in our android application using  web view.

No comments:

Post a Comment

Comments

Find Hours Diffrence in Kotlin

  In Kotlin, determining the difference in hours between two timestamps is a common task, especially in scenarios involving time-based calcu...