package com.example.xrecyclerview;
import android.content.Context;
import android.graphics.drawable.AnimationDrawable;
import android.util.AttributeSet;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
public class LoadingMoreFooter extends LinearLayout {
public final static int STATE_LOADING = 0;
public final static int STATE_COMPLETE = 1;
public final static int STATE_NOMORE = 2;
private TextView mText;
private AnimationDrawable mAnimationDrawable;
private ImageView mIvProgress;
public LoadingMoreFooter(Context context) {
super(context);
initView(context);
}
/**
* @param context
* @param attrs
*/
public LoadingMoreFooter(Context context, AttributeSet attrs) {
super(context, attrs);
initView(context);
}
public void initView(Context context) {
LayoutInflater.from(context).inflate(R.layout.yun_refresh_footer, this);
mText = (TextView) findViewById(R.id.msg);
mIvProgress = (ImageView) findViewById(R.id.iv_progress);
mAnimationDrawable = (AnimationDrawable) mIvProgress.getDrawable();
if (!mAnimationDrawable.isRunning()) {
mAnimationDrawable.start();
}
setLayoutParams(new LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT));
}
public void setState(int state) {
switch (state) {
case STATE_LOADING:
if (!mAnimationDrawable.isRunning()) {
mAnimationDrawable.start();
}
mIvProgress.setVisibility(View.VISIBLE);
mText.setText(getContext().getText(R.string.listview_loading));
this.setVisibility(View.VISIBLE);
break;
case STATE_COMPLETE:
if (mAnimationDrawable.isRunning()) {
mAnimationDrawable.stop();
}
mText.setText(getContext().getText(R.string.listview_loading));
this.setVisibility(View.GONE);
break;
case STATE_NOMORE:
if (mAnimationDrawable.isRunning()) {
mAnimationDrawable.stop();
}
mText.setText(getContext().getText(R.string.nomore_loading));
mIvProgress.setVisibility(View.GONE);
this.setVisibility(View.VISIBLE);
break;
}
}
public void reSet() {
this.setVisibility(GONE);
}
}