學習Android的新的UI控件Material Design(五)——SwipeRefreshLayout下拉刷新控件

使用的工具  Android Studio

項目主要用於實現下拉刷新重新加載圖片的功能(因爲只爲演示,刷新部分的邏輯代碼沒有詳細的編寫)

要想用於刷新功能,只需要將想要刷新的控件包裹在SwipeRefreshLayout子控件下

activity_main.xml的代碼如下:

<android.support.v4.widget.SwipeRefreshLayout
    android:id="@+id/swipe_refresh"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    app:layout_behavior="@string/appbar_scrolling_view_behavior">
  <android.support.v7.widget.RecyclerView
      android:id="@+id/recycler_view"
      android:layout_width="match_parent"
      android:layout_height="match_parent" />
</android.support.v4.widget.SwipeRefreshLayout>

在MainActivity代碼中修改如下:

public class MainActivity extends AppCompatActivity {
private SwipeRefreshLayout swipeRefresh;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
swipeRefresh = (SwipeRefreshLayout) findViewById(R.id.swipe_refresh);
swipeRefresh.setColorSchemeResources(R.color.colorPrimary);
swipeRefresh.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
    @Override
    public void onRefresh() {
        refreshFruits();
    }
});
        return true;
//下拉刷新功能實現
private void refreshFruits() {
    new Thread(new Runnable() {
        @Override
        public void run() {
            try{
                Thread.sleep(2000);
            }catch (InterruptedException e){
                e.printStackTrace();
            }
            runOnUiThread(new Runnable() {
                @Override
                public void run() {
                    initFruits();
                    adapter.notifyDataSetChanged();
                    swipeRefresh.setRefreshing(false);
                }
            });
        }
    }).start();
}

運行代碼發現下拉到列表底部的時候可以實現刷新的功能
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章