/** * Copyright 2015 bingoogolapple *
* Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.hdl.photovoltaic.widget.refreshlayout; import android.content.Context; import android.graphics.Color; import android.view.View; import androidx.annotation.DrawableRes; import com.hdl.photovoltaic.R; public class HDLRefreshViewHolder extends BGARefreshViewHolder { private HDLRefreshView mRefreshView; private int mPullDownImageResId = -1; private int mChangeToReleaseRefreshAnimResId = -1; private int mRefreshingAnimResId = -1; /** * @param context * @param isLoadingMoreEnabled 上拉加载更多是否可用 */ public HDLRefreshViewHolder(Context context, boolean isLoadingMoreEnabled) { super(context, isLoadingMoreEnabled); } /** * 设置下拉过程中的图片资源 * * @param resId */ public void setPullDownImageResource(@DrawableRes int resId) { mPullDownImageResId = resId; } /** * 设置进入释放刷新状态时的动画资源 * * @param resId */ public void setChangeToReleaseRefreshAnimResId(@DrawableRes int resId) { mChangeToReleaseRefreshAnimResId = resId; } /** * 设置正在刷新时的动画资源 * * @param resId */ public void setRefreshingAnimResId(@DrawableRes int resId) { mRefreshingAnimResId = resId; } @Override public View getRefreshHeaderView() { if (mRefreshHeaderView == null) { mRefreshHeaderView = View.inflate(mContext, R.layout.view_refresh_header, null); mRefreshHeaderView.setBackgroundColor(Color.TRANSPARENT); if (mRefreshViewBackgroundColorRes != -1) { mRefreshHeaderView.setBackgroundResource(mRefreshViewBackgroundColorRes); } if (mRefreshViewBackgroundDrawableRes != -1) { mRefreshHeaderView.setBackgroundResource(mRefreshViewBackgroundDrawableRes); } mRefreshView = (HDLRefreshView) mRefreshHeaderView.findViewById(R.id.refreshView); if (mPullDownImageResId != -1) { mRefreshView.setPullDownImageResource(mPullDownImageResId); } else { throw new RuntimeException("请调用" + HDLRefreshViewHolder.class.getSimpleName() + "的setPullDownImageResource方法设置下拉过程中的图片资源"); } if (mChangeToReleaseRefreshAnimResId != -1) { mRefreshView.setChangeToReleaseRefreshAnimResId(mChangeToReleaseRefreshAnimResId); } else { throw new RuntimeException("请调用" + HDLRefreshViewHolder.class.getSimpleName() + "的setChangeToReleaseRefreshAnimResId方法设置进入释放刷新状态时的动画资源"); } if (mRefreshingAnimResId != -1) { mRefreshView.setRefreshingAnimResId(mRefreshingAnimResId); } else { throw new RuntimeException("请调用" + HDLRefreshViewHolder.class.getSimpleName() + "的setRefreshingAnimResId方法设置正在刷新时的动画资源"); } } return mRefreshHeaderView; } @Override public void handleScale(float scale, int moveYDistance) { if (scale <= 1.0f) { mRefreshView.handleScale(scale); } } @Override public void changeToIdle() { mRefreshView.changeToIdle(); } @Override public void changeToPullDown() { mRefreshView.changeToPullDown(); } @Override public void changeToReleaseRefresh() { mRefreshView.changeToReleaseRefresh(); } @Override public void changeToRefreshing() { mRefreshView.changeToRefreshing(); } @Override public void onEndRefreshing() { mRefreshView.onEndRefreshing(); } }