Pernahkah sobat mendapati ada aplikasi yang ketika kita tarik layar kebawah maka akan muncul widget refresh seperti gambar di bawah ini. Jika sobat tertarik untuk membuat aplikasi dengan tambahan fitur tersebut teman-teman bisa mengikuti tutorial yang akan saya berikan.
Pertama tama silahkan buat sebuah project baru dengan nama "SwipeRefresh" atau anda ganti sesuai dengan keinginan anda. Detail lainnya seperti berikut :
- Empty Activity
- Language Java
- Minimum API Level : API 17
Setelah selesai membuat prohect baru silahkan edit file "MainActivity.java" serta "activity_main.xml" seperti di bawah :
1. activity_main.xml
<android.support.v4.widget.SwipeRefreshLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/swipe"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<!-- Silahkan masukkan layout atau widget disini -->
</android.support.v4.widget.SwipeRefreshLayout>
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/swipe"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<!-- Silahkan masukkan layout atau widget disini -->
</android.support.v4.widget.SwipeRefreshLayout>
Pada koment anda bisa memasukkan wdget ataupun layout sesuai keinginan anda.
2. MainActivity.java
public class MainActivity extends AppCompatActivity implements SwipeRefreshLayout.OnRefreshListener {
SwipeRefreshLayout swipeRefreshLayout;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
swipeRefreshLayout = findViewById(R.id.swipe);
swipeRefreshLayout.setOnRefreshListener(this);
swipeRefreshLayout.post(new Runnable() {
@Override
public void run() {
swipeRefreshLayout.setRefreshing(true);
aksiRefresh();
}
});
}
@Override
public void onRefresh() {
swipeRefreshLayout.setRefreshing(true);
aksiRefresh();
}
private void aksiRefresh() {
<!-- isi dengan kode yang akan dijalnkan bila refresh berjalan -->
swipeRefreshLayout.setRefreshing(false);
}
}
SwipeRefreshLayout swipeRefreshLayout;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
swipeRefreshLayout = findViewById(R.id.swipe);
swipeRefreshLayout.setOnRefreshListener(this);
swipeRefreshLayout.post(new Runnable() {
@Override
public void run() {
swipeRefreshLayout.setRefreshing(true);
aksiRefresh();
}
});
}
@Override
public void onRefresh() {
swipeRefreshLayout.setRefreshing(true);
aksiRefresh();
}
private void aksiRefresh() {
<!-- isi dengan kode yang akan dijalnkan bila refresh berjalan -->
swipeRefreshLayout.setRefreshing(false);
}
}
Pada method aksiRefresh() silahkan anda masukkan kode anda yang akan dijalankan apabila refresh dilakukan. Jangan lupa di akhir aksi refresh harus ada "swipeRefreshLayout.setRefreshing(false);" sehingga ketika aksi selesai maka swipe refresh akan otomatis tersembunyi atau hilang di layar.
Komentar
Posting Komentar