android自带的下拉刷新

    xiaoxiao2021-03-25  16

    public class MainActivity extends Activity implements OnRefreshListener{ private SwipeRefreshLayout mSwipeRefreshLayout; private TextView mRandomText; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mSwipeRefreshLayout = (SwipeRefreshLayout)this.findViewById(R.id.swipe_refresh); mSwipeRefreshLayout.setOnRefreshListener(this); mRandomText = (TextView)this.findViewById(R.id.random_text); } @Override public void onRefresh() { mSwipeRefreshLayout.setRefreshing(true); (new Handler()).postDelayed(new Runnable() { @Override public void run() { //3秒后停止刷新 mSwipeRefreshLayout.setRefreshing(false); int num = (int)(Math.random() * 100 + 1); String s = mRandomText.getText().toString(); s = s + + num; mRandomText.setText(s); } }, 3000); } } 如果想要加下拉刷新的动画 swipeRefreshLayout.setColorSchemeColors(R.color.colorAccent, R.color.colorPrimary); ViewTreeObserver vio = swipeRefreshLayout.getViewTreeObserver(); vio.addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() { @Override public void onGlobalLayout() { final DisplayMetrics metrics = getResources() .getDisplayMetrics(); Float mDistanceToTriggerSync = Math.min( ((View) swipeRefreshLayout.getParent()).getHeight() * 0.6f, 500 * metrics.density); try { Field field = SwipeRefreshLayout.class .getDeclaredField("mDistanceToTriggerSync"); field.setAccessible(true); field.setFloat(swipeRefreshLayout, mDistanceToTriggerSync); } catch (Exception e) { e.printStackTrace(); } ViewTreeObserver obs = swipeRefreshLayout.getViewTreeObserver(); obs.removeOnGlobalLayoutListener(this); } });
    转载请注明原文地址: https://ju.6miu.com/read-300237.html

    最新回复(0)