package com.aspsine.swipetoloadlayout.demo.view.header;
import android.content.Context;
import android.content.res.Resources;
import android.util.AttributeSet;
import android.widget.FrameLayout;
import android.widget.ImageView;
import com.aspsine.swipetoloadlayout.SwipeRefreshTrigger;
import com.aspsine.swipetoloadlayout.SwipeTrigger;
import com.aspsine.swipetoloadlayout.demo.R;
import com.aspsine.swipetoloadlayout.demo.view.drawable.google.RingProgressDrawable;
/**
* Created by aspsine on 15/9/10.
*/
public class GoogleRefreshHeaderView extends FrameLayout implements SwipeTrigger, SwipeRefreshTrigger {
private ImageView ivRefresh;
private int mTriggerOffset;
private RingProgressDrawable ringProgressDrawable;
public GoogleRefreshHeaderView(Context context) {
this(context, null);
}
public GoogleRefreshHeaderView(Context context, AttributeSet attrs) {
this(context, attrs, 0);
}
public GoogleRefreshHeaderView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
ringProgressDrawable = new RingProgressDrawable(context);
Resources res = getResources();
ringProgressDrawable.setColors(
res.getColor(R.color.google_blue),
res.getColor(R.color.google_red),
res.getColor(R.color.google_yellow),
res.getColor(R.color.google_green));
mTriggerOffset = context.getResources().getDimensionPixelOffset(R.dimen.refresh_trigger_offset_google);
}
@Override
protected void onFinishInflate() {
super.onFinishInflate();
ivRefresh = (ImageView) findViewById(R.id.ivRefresh);
ivRefresh.setBackgroundDrawable(ringProgressDrawable);
}
@Override
public void onRefresh() {
ringProgressDrawable.start();
}
@Override
public void onPrepare() {
}
@Override
public void onMove(int y, boolean isComplete, boolean automatic) {
if (!isComplete) {
ringProgressDrawable.setPercent(y / (float) mTriggerOffset);
}
}
@Override
public void onRelease() {
}
@Override
public void onComplete() {
ringProgressDrawable.stop();
}
@Override
public void onReset() {
}
}