Oke kali ini aya akan membuat Tutorial cara membuat swipe refresh dan bar loading pada web view pada android studio.
Contoh hasilnya nanti :
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!
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! ]]