package razerdp.demo.fragment;
import android.view.View;
import android.view.animation.Animation;
import android.view.animation.RotateAnimation;
import android.view.animation.ScaleAnimation;
import android.view.animation.TranslateAnimation;
import android.widget.Button;
import razerdp.basepopup.BasePopupWindow;
import razerdp.basepopup.R;
import razerdp.demo.interpolator.CustomInterpolatorFactory;
import razerdp.demo.popup.CustomInterpolatorPopup;
/**
* Created by 大灯泡 on 2016/1/28.
* 各种插值器
*/
public class CustomInterpolatorPopupFrag extends SimpleBaseFrag {
private Button jelly;
private Button anti;
private Button anti2;
private Button spring;
private Button overshoot;
private CustomInterpolatorPopup mInterpolatorPopup;
@Override
public void bindEvent() {
jelly= (Button) mFragment.findViewById(R.id.jelly);
anti= (Button) mFragment.findViewById(R.id.anti);
anti2= (Button) mFragment.findViewById(R.id.anti2);
spring= (Button) mFragment.findViewById(R.id.spring);
overshoot= (Button) mFragment.findViewById(R.id.overshoot);
jelly.setOnClickListener(this);
anti.setOnClickListener(this);
anti2.setOnClickListener(this);
spring.setOnClickListener(this);
overshoot.setOnClickListener(this);
mInterpolatorPopup=new CustomInterpolatorPopup(mContext);
}
@Override
public BasePopupWindow getPopup() {
return null;
}
@Override
public Button getButton() {
return null;
}
@Override
public View getFragment() {
return mInflater.inflate(R.layout.frag_custominterpolator_popup, container, false);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.jelly:
Animation scaleAnimation =
new ScaleAnimation(0f, 1f, 0f, 1f, Animation.RELATIVE_TO_SELF, 0.5f,
Animation.RELATIVE_TO_SELF, 0.5f);
scaleAnimation.setDuration(3000);
scaleAnimation.setInterpolator(CustomInterpolatorFactory.getJellyInterpolator());
scaleAnimation.setFillEnabled(true);
scaleAnimation.setFillAfter(true);
mInterpolatorPopup.setCustomAnimation(scaleAnimation);
mInterpolatorPopup.showPopupWindow();
break;
case R.id.anti:
Animation rotateAnima =
new RotateAnimation(0,360,Animation.RELATIVE_TO_SELF,0.5f,Animation.RELATIVE_TO_SELF,0.5f);
rotateAnima.setDuration(2500);
rotateAnima.setInterpolator(CustomInterpolatorFactory.getAnticipateInterpolator());
rotateAnima.setFillEnabled(true);
rotateAnima.setFillAfter(true);
mInterpolatorPopup.setCustomAnimation(rotateAnima);
mInterpolatorPopup.showPopupWindow();
break;
case R.id.anti2:
Animation rotateAnima2 =
new RotateAnimation(0,360,Animation.RELATIVE_TO_SELF,0.5f,Animation.RELATIVE_TO_SELF,0.5f);
rotateAnima2.setDuration(2500);
rotateAnima2.setInterpolator(CustomInterpolatorFactory.getAnticipateOverShootInterpolator());
rotateAnima2.setFillEnabled(true);
rotateAnima2.setFillAfter(true);
mInterpolatorPopup.setCustomAnimation(rotateAnima2);
mInterpolatorPopup.showPopupWindow();
break;
case R.id.spring:
Animation scaleAnimation2 =
new ScaleAnimation(0f, 1f, 0f, 1f, Animation.RELATIVE_TO_SELF, 0.5f,
Animation.RELATIVE_TO_SELF, 0.5f);
scaleAnimation2.setDuration(2500);
scaleAnimation2.setInterpolator(CustomInterpolatorFactory.getSpringInterPolator());
scaleAnimation2.setFillEnabled(true);
scaleAnimation2.setFillAfter(true);
mInterpolatorPopup.setCustomAnimation(scaleAnimation2);
mInterpolatorPopup.showPopupWindow();
break;
case R.id.overshoot:
Animation translateAnimation = new TranslateAnimation(0, 0, 250*2, 0);
translateAnimation.setDuration(2500);
translateAnimation.setFillEnabled(true);
translateAnimation.setFillAfter(true);
translateAnimation.setInterpolator(CustomInterpolatorFactory.getOverShootInterpolator());
mInterpolatorPopup.setCustomAnimation(translateAnimation);
mInterpolatorPopup.showPopupWindow();
break;
}
}
}