package com.sxit.dreamiya.customview;
import com.sxit.dreamiya.R;
import android.content.Context;
import android.graphics.drawable.AnimationDrawable;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
/**
* loading
*
* @author huanyu 类名称:Loading 创建时间:2014-11-6 上午12:35:19
*/
public class LoadingPage extends LinearLayout implements OnClickListener {
public TextView tv_loading;
private Context context;
private ILoadingDo loadingDo;//
public LinearLayout ll_bg;
public int state;// 0成功 1失败
public String methodName;
public ImageView img_loading;
public AnimationDrawable animDrawable1, animDrawable2;
public LoadingPage(Context context, ILoadingDo loadingDo) {
super(context);
this.context = context;
this.loadingDo = loadingDo;
LayoutInflater mInflater = LayoutInflater.from(context);
View myView = mInflater.inflate(R.layout.activity_loading, null);
myView.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
tv_loading = (TextView) myView.findViewById(R.id.tv_loading);
img_loading = (ImageView) myView.findViewById(R.id.img_loading);
img_loading.setBackgroundResource(R.drawable.loading_anim);
animDrawable1 = (AnimationDrawable) img_loading.getBackground();
animDrawable1.start();
tv_loading.setOnClickListener(this);
ll_bg = (LinearLayout) myView.findViewById(R.id.ll_bg);
ll_bg.setOnClickListener(null);
addView(myView);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.tv_loading:
if (state == 1) {
img_loading.setBackgroundResource(R.drawable.loading_anim);
animDrawable1.start();
tv_loading.setText("努力加载中...");
loadingDo.soapFail(methodName);
}
break;
default:
break;
}
}
public ILoadingDo getLoadingDo() {
return loadingDo;
}
public void setLoadingDo(ILoadingDo loadingDo) {
this.loadingDo = loadingDo;
}
public void setState(int state, String methodName) {
this.methodName = methodName;
this.state = state;
// chang textView
tv_loading.setText("网络异常,请求失败!");
animDrawable1.stop();
img_loading.setBackgroundResource(R.drawable.error_anim);
// animDrawable1 = (AnimationDrawable) img_loading.getBackground();
}
public interface ILoadingDo {
/**
* 请求失败
*/
void soapFail(String methodName);
}
}