Anda mungkin telah memperhatikan bahwa banyak aplikasi android seperti Twitter, Google+ memberikan pilihan untuk menggesek / pull down untuk menyegarkan konten. Setiap kali pengguna menggesek turun dari atas, loader akan ditampilkan dan akan hilang setelah konten baru dimuat. Dalam tutorial ini kita akan belajar bagaimana memberikan yang sama untuk aplikasi Anda juga.
Sebelumnya kami mengimplementasikan pandangan menggesek kustom untuk mendeteksi menggesek ke bawah. Tapi android membuat kita lebih mudah dengan SwipeRefreshLayout di android.support.v4 untuk mendeteksi menggesek vertikal pada tampilan.
1. Android SwipeRefreshLayout
Menggunakan SwipeRefreshLayout sangat mudah. Setiap kali Anda ingin mendeteksi menggesek ke bawah pada setiap tampilan. Dalam kasus kami, kami akan menggunakan dengan ListView. Dan menerapkan kelas aktivitas Anda dari SwipeRefreshLayout.OnRefreshListener. Ketika pengguna gesekan bawah, metode onRefresh () akan dipicu.
<?xml version="1.0" encoding="utf-8"?> <android.support.v4.widget.SwipeRefreshLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/swipe_refresh_layout" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="swiperefreshlayout.tahukoding.com.swiperefreshlayout.MainActivity"> </android.support.v4.widget.SwipeRefreshLayout>
2. Membuat Project Android
1. Pada Android Studio, buatlah project baru.
=> Jika Anda tidak memiliki sebuah project, di layar Welcome klik New Project.
=> Jika Anda telah membuka project, dari menu File, pilih New Project.
=> Jika Anda tidak memiliki sebuah project, di layar Welcome klik New Project.
=> Jika Anda telah membuka project, dari menu File, pilih New Project.
=> Jika Anda telah membuka project, dari menu File, pilih New Project.
3. Pada Select the form factors your app will run on, centang untuk Phone and Tablet.
4. Pada Add an activity to Mobile, pilih Blank Activity dan klik Next.
Next ->
5. Klik tombol Finish untuk membuat project.
6. Pilih View anda sebagai Project, Buka file layout untuk kegiatan utama (activity_main.xml) terletak dibawah App => res => layout.
activity_main.xml
<?xml version="1.0" encoding="utf-8"?> <android.support.v4.widget.SwipeRefreshLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/swipe_refresh_layout" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="swiperefreshlayout.tahukoding.com.swiperefreshlayout.MainActivity"> <ListView android:id="@+id/listView" android:layout_width="match_parent" android:layout_height="match_parent"> </ListView> </android.support.v4.widget.SwipeRefreshLayout>
7. Buka file layout untuk kegiatan utama (string.xml) terletak dibawah App => res => values.
string.xml
<resources> <string name="app_name">SwipeRefreshLayout</string> <string-array name="android"> <item>Android Cupcake</item> <item>Android Donut</item> <item>Android Eclair</item> <item>Android Froyo</item> <item>Android Gingerbread</item> <item>Android Honeycomb</item> <item>Android IceCreamSandwich</item> <item>Android Jelly Bean</item> <item>Android Kitkat</item> <item>Android Lollipop</item> <item>Android Marshmallow</item> <item>Android Nougat</item> </string-array> </resources>
8. Sekarang Buka MainActivity.java terletak di app ⇒ src ⇒ Java dan copy kode di bawah ini.
MainActivity.java
package swiperefreshlayout.tahukoding.com.swiperefreshlayout; import android.app.Activity; import android.os.Handler; import android.support.v4.widget.SwipeRefreshLayout; import android.os.Bundle; import android.widget.ArrayAdapter; import android.widget.ListView; public class MainActivity extends Activity { private ListView mListView; private SwipeRefreshLayout mSwipeRefreshLayout; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mSwipeRefreshLayout = (SwipeRefreshLayout) findViewById(R.id.swipe_refresh_layout); mListView = (ListView) findViewById(R.id.listView); final ArrayAdapter mAdapter = ArrayAdapter.createFromResource(this, R.array.android, android.R.layout.simple_list_item_1); mSwipeRefreshLayout.setColorSchemeResources(R.color.colorAccent, R.color.colorPrimary, R.color.colorAccent); mSwipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener(){ @Override public void onRefresh() { new Handler().postDelayed(new Runnable() { @Override public void run() { mSwipeRefreshLayout.setRefreshing(false); mListView.setAdapter(mAdapter); } }, 2000); } }); } }