Tutorial Cara Membuat Swipe Refresh dan Bar Loading Pada Web View di Android Studio Versi 3.1.3 Terbaru


Oke kali ini aya akan membuat Tutorial cara membuat swipe refresh dan bar loading pada web view pada android studio.

Contoh hasilnya nanti :



Berikut ini Tutorialnya:

Langkah 1 : New project

Langkah 2: Buka activity_main.xml masukk kode dibawah ini.

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

    <ProgressBar
        android:id="@+id/progressBar"
        style="@style/Widget.AppCompat.ProgressBar.Horizontal"
        android:layout_width="match_parent"
        android:layout_height="5dp"
        android:layout_gravity="bottom"
        android:layout_marginTop="1dp"
        android:progress="10"
        android:visibility="visible"
        tools:visibility="visible" />


    <android.support.v4.widget.SwipeRefreshLayout
        android:id="@+id/swipeLayout"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <WebView
            android:id="@+id/webidtransaksi"
            android:layout_width="368dp"
            android:layout_height="495dp"
            tools:layout_editor_absoluteX="8dp"
            tools:layout_editor_absoluteY="8dp">

        </WebView>
    </android.support.v4.widget.SwipeRefreshLayout>
</LinearLayout>
Langkah 3: Masuk ke MainActivity.java masukkan kode dibawah ini!

MainActivity.java

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.webkit.WebView;

import android.os.Build;
import android.support.v4.widget.SwipeRefreshLayout;
import android.view.KeyEvent;
import android.view.View;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
import android.webkit.WebViewClient;
import android.widget.ProgressBar;

public class transaksi extends AppCompatActivity implements SwipeRefreshLayout.OnRefreshListener {
    private ProgressBar progressBar;
    private WebView webidtransaksi;
    private SwipeRefreshLayout swipeLayout;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_transaksi);
        swipeLayout = (SwipeRefreshLayout) findViewById(R.id.swipeLayout);
        swipeLayout.setOnRefreshListener(this);
        progressBar = (ProgressBar) findViewById(R.id.progressBar);
        progressBar.setMax(100);
        webidtransaksi = (WebView) findViewById(R.id.webidtransaksi);
        WebSettings webSettings = webidtransaksi.getSettings();
        webSettings.setJavaScriptEnabled(true);
        webidtransaksi.getSettings().setBuiltInZoomControls(true);
        webidtransaksi.getSettings().setDisplayZoomControls(false);
        webidtransaksi.getSettings().setRenderPriority(WebSettings.RenderPriority.HIGH);
        webidtransaksi.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);
        webidtransaksi.getSettings().setAppCacheEnabled(true);
        webidtransaksi.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);
        webSettings.setDomStorageEnabled(true);
        webSettings.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.NARROW_COLUMNS);
        webSettings.setUseWideViewPort(true);
        webSettings.setSavePassword(true);
        webSettings.setSaveFormData(true);
        webSettings.setEnableSmoothTransition(true);
        webidtransaksi.loadUrl("https://transaksi.klikmbc.co.id/login.php");
        webidtransaksi.setWebViewClient(new WebViewClient());
        webidtransaksi.setScrollbarFadingEnabled(true);

        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
            webidtransaksi.setLayerType(View.LAYER_TYPE_HARDWARE, null);
        } else {
            webidtransaksi.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
        }

        progressBar.setProgress(0);
        webidtransaksi.setWebChromeClient(new WebChromeClient());

        webidtransaksi.setWebChromeClient(new WebChromeClient() {
            public void onProgressChanged(WebView view, int progress) {

                progressBar.setProgress(progress);

                setTitle("Loading...");
                if (progress == 100) {
                    setTitle(view.getTitle());
                    progressBar.setVisibility(View.GONE);
                } else {
                    progressBar.setVisibility(View.VISIBLE);
                }
                super.onProgressChanged(view, progress);
            }
        });

    }

    @Override
    public void onRefresh() {
        webidtransaksi.reload();
        swipeLayout.setRefreshing(false);
    }

    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        if ((keyCode == KeyEvent.KEYCODE_BACK) && webidtransaksi.canGoBack()) {
            webidtransaksi.goBack();
            return true;
        }
        // If it wasn't the Back key or there's no web page history, bubble up to the default
        // system behavior (probably exit the activity)
        return super.onKeyDown(keyCode, event);
    }
}
Pada MainActivity.java yang saya tandai warna merah diatas adalah tempat link yang dituju nanti ketika aplikasinya dibuka nanti. Disitu boleh anda ganti sesuai selera anda.

Note: Jangan lupa mengijinkan koneksi ke internet pada Android Manifest.xml


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

Sekian dulu tutorial dari saya semoga bermanfaat buat kalian.
Terimakasih!




"Jangan lupa ikuti saya disini untuk update post terbaru dari saya agar kamu tidak ketinggalan"

0 Response to "Tutorial Cara Membuat Swipe Refresh dan Bar Loading Pada Web View di Android Studio Versi 3.1.3 Terbaru"

Posting Komentar

[[ Silahkan berkomentar yang sesuai dengan topik, Mohon Maaf komentar dengan nama komentator dan isi komentar yang berbau PORNOGRAFI, OBAT, HACK, JUDI dan komentar yang mengandung LINK AKTIF, Tidak akan ditampilkan. Terima Kasih! ]]