package com.sandro.custom.view;
import android.annotation.SuppressLint;
import android.content.Context;
import android.os.Handler;
import android.os.Message;
import android.util.AttributeSet;
import android.view.View;
import android.view.animation.AlphaAnimation;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.view.animation.TranslateAnimation;
import android.widget.RelativeLayout;
import com.sandro.ImageTrans.MainApp;
import com.sandro.ImageTrans.R;
@SuppressLint("HandlerLeak")
public class AppScanCircleLayout extends RelativeLayout{
private CircleView mCircleView;
public static final int MSG_DRAW_CIRCLE_FINISH = 1 ;
public static final int MSG_CIRCLE_SPREAD = 2;
private View imageView;
private Handler mHandler = new Handler(){
@Override
public void handleMessage(Message msg) {
switch(msg.what){
case MSG_DRAW_CIRCLE_FINISH:
AlphaAnimation alphaAnimation = new AlphaAnimation(0.0f,1.0f);
alphaAnimation.setDuration(1000);
alphaAnimation.setFillAfter(true);
imageView.startAnimation(alphaAnimation);
View v = AppScanCircleLayout.this.findViewById(R.id.textView1);
v.startAnimation(alphaAnimation);
View btn = AppScanCircleLayout.this.findViewById(R.id.btn_scan);
btn.setVisibility(View.VISIBLE);
Animation tranAnimation = new TranslateAnimation(0,0,200,0);
tranAnimation.setInterpolator(AnimationUtils.loadInterpolator(AppScanCircleLayout.this.getContext(),
android.R.anim.overshoot_interpolator));
tranAnimation.setDuration(500);
btn.startAnimation(tranAnimation);
this.sendEmptyMessageDelayed(MSG_CIRCLE_SPREAD, 6000);
break;
case MSG_CIRCLE_SPREAD:
mCircleView.startSpread();
this.sendEmptyMessageDelayed(MSG_CIRCLE_SPREAD, 6000);
break;
}
super.handleMessage(msg);
}
};
public AppScanCircleLayout(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
public AppScanCircleLayout(Context context, AttributeSet attrs) {
super(context, attrs);
}
public AppScanCircleLayout(Context context) {
super(context);
}
public void init(){
mCircleView = (CircleView)this.findViewById(R.id.circle_id);
imageView = this.findViewById(R.id.iv_icon);
mCircleView.setHandler(this.mHandler);
}
public void startCircle(){
mHandler.postDelayed(new Runnable(){
@Override
public void run() {
mCircleView.startCircleDraw();
}
}, 100);
}
}