English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Android Component SwipeRefreshLayout Pull-down Ball Refresh Effect

A pull-down ball refresh is implemented in swiperefreshlayout for reference, the specific content is as follows

Layout file:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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:paddingLeft="@dimen"/activity_horizontal_margin"
android:paddingRight="@dimen"/activity_horizontal_margin"
android:paddingTop="@dimen"/activity_vertical_margin"
android:paddingBottom="@dimen"/activity_vertical_margin" tools:context=".MainActivity">
  <android.support.v4.widget.SwipeRefreshLayout
    android:id="@"+id/swipeRefreshLayout"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
  >
   <ListView
     android:id="@"+id/listView"
     android:layout_width="match_parent"
     android:layout_height="wrap_content">
   </ListView>
  </android.support.v4.widget.SwipeRefreshLayout>
</RelativeLayout>

MainActivity:

public class MainActivity extends AppCompatActivity implements SwipeRefreshLayout.OnRefreshListener{
private static final int REFRESH_STATUS =0;
private ListView myListView;
private SwipeRefreshLayout mySwipeRefreshLayout;
private ArrayAdapter<String> listAdapter;
private List<String> listIDE = new ArrayList<String>(Arrays.asList("Visual Studio", "Android Studio", "Eclipse", "Xcode"));
private Handler refreshHandler = new Handler()
{
  public void handleMessage(android.os.Message msg)
  {
    switch (msg.what)
    {
      case REFRESH_STATUS:
        listIDE.removeAll(listIDE);
        listIDE.addAll(Arrays.asList("C#", "Java", "C++","Object-C"));
        listAdapter.notifyDataSetChanged();
        mySwipeRefreshLayout.setRefreshing(false);
        break;
    }
  };
};
protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);
  myListView = (ListView) findViewById(R.id.listView);
  mySwipeRefreshLayout = (SwipeRefreshLayout) findViewById(R.id.swipeRefreshLayout);
  mySwipeRefreshLayout.setOnRefreshListener(this);
  mySwipeRefreshLayout.setColorSchemeResources(android.R.color.holo_blue_bright, android.R.color.holo_green_light,
      android.R.color.holo_orange_light, android.R.color.holo_red_light);
  listAdapter = new ArrayAdapter(this,android.R.layout.simple_list_item_1,listIDE);
  myListView.setAdapter(listAdapter);
}
@Override
public void onRefresh() {
  refreshHandler.sendEmptyMessageDelayed(REFRESH_STATUS, 1500);
 }
}

Illustration:

That's all for this article, I hope it will be helpful to everyone's learning, and I also hope everyone will support the Naying Tutorial more.

Declaration: The content of this article is from the Internet, the copyright belongs to the original author. The content is contributed and uploaded by Internet users spontaneously. The website does not own the copyright, does not edit manually, and does not assume relevant legal liability. If you find any content suspected of copyright infringement, please send an email to: notice#w3Please replace # with @ when sending an email to report violations. Provide relevant evidence, and once verified, the website will immediately delete the infringing content.

You May Also Like