package com.aspsine.swipetoloadlayout.demo.view.footer; import android.content.Context; import android.support.v4.view.ViewCompat; import android.util.AttributeSet; import android.widget.FrameLayout; import com.aspsine.swipetoloadlayout.SwipeLoadMoreTrigger; import com.aspsine.swipetoloadlayout.SwipeTrigger; import com.aspsine.swipetoloadlayout.demo.R; import com.aspsine.swipetoloadlayout.demo.view.GoogleCircleProgressView; /** * Created by aspsine on 16/1/27. */ public class GoogleCircleHookLoadMoreFooterView extends FrameLayout implements SwipeTrigger, SwipeLoadMoreTrigger { private GoogleCircleProgressView progressView; private int mTriggerOffset; private int mFinalOffset; public GoogleCircleHookLoadMoreFooterView(Context context) { this(context, null); } public GoogleCircleHookLoadMoreFooterView(Context context, AttributeSet attrs) { this(context, attrs, 0); } public GoogleCircleHookLoadMoreFooterView(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); mTriggerOffset = context.getResources().getDimensionPixelOffset(R.dimen.load_more_footer_height_google); mFinalOffset = context.getResources().getDimensionPixelOffset(R.dimen.load_more_final_offset_google); } @Override protected void onFinishInflate() { super.onFinishInflate(); progressView = (GoogleCircleProgressView) findViewById(R.id.googleProgress); progressView.setColorSchemeResources( R.color.google_blue, R.color.google_red, R.color.google_yellow, R.color.google_green); progressView.setStartEndTrim(0, (float) 0.75); } @Override public void onLoadMore() { progressView.start(); } @Override public void onPrepare() { progressView.setStartEndTrim(0, (float) 0.75); } @Override public void onMove(int y, boolean isComplete, boolean automatic) { float alpha = -y / (float) mTriggerOffset; ViewCompat.setAlpha(progressView, alpha); if (!isComplete) { progressView.setProgressRotation(-y / (float) mFinalOffset); } } @Override public void onRelease() { } @Override public void onComplete() { } @Override public void onReset() { progressView.stop(); ViewCompat.setAlpha(progressView, 1f); } }