package com.dl7.mvp.utils; import android.support.design.widget.AppBarLayout; import android.support.v4.widget.SwipeRefreshLayout; /** * Created by long on 2016/12/1. * 下拉刷新帮助类 */ public class SwipeRefreshHelper { private SwipeRefreshHelper() { throw new AssertionError(); } /** * 初始化,关联AppBarLayout,处理滑动冲突 * @param refreshLayout * @param appBar * @param listener */ public static void init(final SwipeRefreshLayout refreshLayout, AppBarLayout appBar, SwipeRefreshLayout.OnRefreshListener listener) { refreshLayout.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); refreshLayout.setOnRefreshListener(listener); appBar.addOnOffsetChangedListener(new AppBarLayout.OnOffsetChangedListener() { @Override public void onOffsetChanged(AppBarLayout appBarLayout, int verticalOffset) { if (verticalOffset >= 0) { refreshLayout.setEnabled(true); } else { refreshLayout.setEnabled(false); } } }); } /** * 初始化 * @param refreshLayout * @param listener */ public static void init(SwipeRefreshLayout refreshLayout, SwipeRefreshLayout.OnRefreshListener listener) { refreshLayout.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); refreshLayout.setOnRefreshListener(listener); } /** * 使能刷新 * @param refreshLayout * @param isEnable */ public static void enableRefresh(SwipeRefreshLayout refreshLayout, boolean isEnable) { if (refreshLayout != null) { refreshLayout.setEnabled(isEnable); } } /** * 控制刷新 * @param refreshLayout * @param isRefresh */ public static void controlRefresh(SwipeRefreshLayout refreshLayout, boolean isRefresh) { if (refreshLayout != null) { if (isRefresh != refreshLayout.isRefreshing()) { refreshLayout.setRefreshing(isRefresh); } } } }