# NsRefreshLayout **Repository Path**: laomengzhu/NsRefreshLayout ## Basic Information - **Project Name**: NsRefreshLayout - **Description**: 一款支持任意View的下拉刷新控件,支持上拉加载更多。 - **Primary Language**: Android - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 26 - **Forks**: 4 - **Created**: 2016-01-07 - **Last Updated**: 2021-08-02 ## Categories & Tags **Categories**: android-modules **Tags**: None ## README # NsRefreshLayout 支持任意View的下拉刷新控件,同时支持上拉加载更多。 ## 效果预览 ![demo](https://github.com/xiaolifan/NsRefreshLayout/blob/master/art/demo.gif?raw=true) ## 属性说明 ```xml ``` ## 举例 ```xml ``` ```java package com.xlf.nrl.demo; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.RecyclerView; import android.view.Menu; import android.view.MenuItem; import com.xlf.nrl.NsRefreshLayout; public class MainActivity extends AppCompatActivity implements NsRefreshLayout.NsRefreshLayoutController, NsRefreshLayout.NsRefreshLayoutListener { private boolean loadMoreEnable = true; private NsRefreshLayout refreshLayout; private RecyclerView rvTest; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); refreshLayout = (NsRefreshLayout) findViewById(R.id.nrl_test); refreshLayout.setRefreshLayoutController(this); refreshLayout.setRefreshLayoutListener(this); rvTest = (RecyclerView) findViewById(R.id.rv_test); TestRecyclerAdapter adapter = new TestRecyclerAdapter(this); rvTest.setAdapter(adapter); } @Override public boolean onCreateOptionsMenu(Menu menu) { MenuItem item = menu.add(0, 0, 0, "禁用上拉加载功能"); item.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { loadMoreEnable = false; return true; } @Override public boolean isPullRefreshEnable() { return true; } @Override public boolean isPullLoadEnable() { return loadMoreEnable; } @Override public void onRefresh() { refreshLayout.postDelayed(new Runnable() { @Override public void run() { refreshLayout.finishPullRefresh(); } }, 1000); } @Override public void onLoadMore() { refreshLayout.postDelayed(new Runnable() { @Override public void run() { refreshLayout.finishPullLoad(); } }, 1000); } } ``` ## License ------- Mozilla Public License, version 2.0