package me.nereo.baiduimageview.ui.view;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.ProgressBar;
import android.widget.TextView;
import me.nereo.baiduimageview.R;
/**
* Created by nereo on 2014/7/9.
*/
public class LoadingFooter {
private LayoutInflater mInflater;
private ProgressBar mProgressbar;
private TextView mTextView;
private State mState = State.LOADING;
public LoadingFooter(Context context){
mInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
public View getFooter(){
View view = mInflater.inflate(R.layout.loading_footer, null, false);
mProgressbar = (ProgressBar) view.findViewById(R.id.progressBar);
mTextView = (TextView) view.findViewById(R.id.textView);
return view;
}
public State getState(){
return mState;
}
public void setState(State state){
mState = state;
switch (mState){
case LOADING:
if(mProgressbar.getVisibility() != View.VISIBLE)
mProgressbar.setVisibility(View.VISIBLE);
if(mTextView.getVisibility() == View.VISIBLE)
mTextView.setVisibility(View.GONE);
break;
case SUCCESS:
if(mProgressbar.getVisibility() == View.VISIBLE)
mProgressbar.setVisibility(View.GONE);
break;
case FAILED:
if(mProgressbar.getVisibility() == View.VISIBLE)
mProgressbar.setVisibility(View.GONE);
if(mTextView.getVisibility() != View.VISIBLE)
mTextView.setVisibility(View.VISIBLE);
mTextView.setText(R.string.loading_failed);
break;
default:
throw new IllegalArgumentException("Unknown state : "+state);
}
}
public static enum State{
LOADING, SUCCESS, FAILED
}
}