public void setResourceConfig(@NonNull ResourceConfig resourceConfig) { mResourceConfig = resourceConfig; refreshArrowImg.setImageResource(mResourceConfig.getImageResIds()[0]); loadArrowImg.setImageResource(mResourceConfig.getImageResIds()[0]); refreshHintText.setText(mResourceConfig.getTextResIds()[0]); refreshHintText.setText(mResourceConfig.getTextResIds()[5]); }
/** * 加载完毕,显示加载结果。注意:加载完成后一定要调用这个方法 * * @param isSuccess true成功,false代表失败 */ public void loadMoreFinish(boolean isSuccess) { if (loadingBar == null || loadHintText == null) { return; } loadingBar.clearAnimation(); loadingBar.setVisibility(View.INVISIBLE); if (showRefreshResultEnable) { if (isSuccess) { // 加载更多成功 loadHintText.setText(mResourceConfig.getTextResIds()[8]); Drawable drawable = ContextCompat.getDrawable(getContext(), mResourceConfig.getImageResIds()[3]); loadHintText.setCompoundDrawablesWithIntrinsicBounds(drawable, null, null, null); loadHintText.setCompoundDrawablePadding(dp2px(10)); } else { // 加载更多失败 loadHintText.setText(mResourceConfig.getTextResIds()[9]); Drawable drawable = ContextCompat.getDrawable(getContext(), mResourceConfig.getImageResIds()[4]); loadHintText.setCompoundDrawablesWithIntrinsicBounds(drawable, null, null, null); loadHintText.setCompoundDrawablePadding(dp2px(10)); } } if (pullUpY < 0) { postDelayed( new Runnable() { @Override public void run() { changeStage(DONE); hide(); } }, showRefreshResultEnable ? 1000 : 0); // 判断刷新结果停留1秒 } else { changeStage(DONE); hide(); } }
private void changeStage(int to) { stage = to; switch (stage) { case INIT: // 下拉布局初始状态 refreshHintText.setText(mResourceConfig.getTextResIds()[0]); refreshHintText.setCompoundDrawablesWithIntrinsicBounds(null, null, null, null); refreshArrowImg.setVisibility(View.VISIBLE); rotateArrow(refreshArrowImg); // 上拉布局初始状态 loadHintText.setText(mResourceConfig.getTextResIds()[5]); loadHintText.setCompoundDrawablesWithIntrinsicBounds(null, null, null, null); loadArrowImg.setVisibility(View.VISIBLE); rotateArrow(loadArrowImg); break; case RELEASE_TO_REFRESH: // 释放刷新状态 refreshHintText.setText(mResourceConfig.getTextResIds()[1]); rotateArrow(refreshArrowImg); break; case REFRESHING: // 正在刷新状态 refreshArrowImg.clearAnimation(); refreshingBar.setVisibility(View.VISIBLE); refreshArrowImg.setVisibility(View.INVISIBLE); refreshHintText.setText(mResourceConfig.getTextResIds()[2]); break; case RELEASE_TO_LOAD: // 释放加载状态 loadHintText.setText(mResourceConfig.getTextResIds()[6]); rotateArrow(loadArrowImg); break; case LOADING: // 正在加载状态 loadArrowImg.clearAnimation(); loadingBar.setVisibility(View.VISIBLE); loadArrowImg.setVisibility(View.INVISIBLE); loadHintText.setText(mResourceConfig.getTextResIds()[7]); break; case DONE: // 刷新或加载完毕,切换到DONE状态 break; } }