package coder.prettygirls.splash;
import android.content.Intent;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.animation.Animation;
import android.view.animation.ScaleAnimation;
import android.widget.ImageView;
import com.bumptech.glide.Glide;
import com.bumptech.glide.load.engine.DiskCacheStrategy;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.Unbinder;
import coder.mylibrary.base.ActivityManager;
import coder.mylibrary.base.BaseFragment;
import coder.prettygirls.R;
import coder.prettygirls.home.HomeActivity;
/**
* Created by oracleen on 2016/6/28.
*/
public class SplashFragment extends BaseFragment implements SplashContract.View {
@BindView(R.id.splash)
ImageView mSplashImg;
private ScaleAnimation scaleAnimation;
private Unbinder unbinder;
private SplashPresenter mPresenter;
public static SplashFragment getInstance() {
SplashFragment splashFragment = new SplashFragment();
return splashFragment;
}
@Override
protected int getLayoutId() {
return R.layout.fragment_splash;
}
@Override
protected void initView(View view, Bundle savedInstanceState) {
unbinder = ButterKnife.bind(this, view);
mPresenter = new SplashPresenter(SplashFragment.this);
initAnim();
}
private void initAnim() {
scaleAnimation = new ScaleAnimation(1.0f, 1.1f, 1.0f, 1.1f, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);
scaleAnimation.setFillAfter(true);
scaleAnimation.setDuration(2500);
mSplashImg.startAnimation(scaleAnimation);
//缩放动画监听
scaleAnimation.setAnimationListener(new Animation.AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
}
@Override
public void onAnimationEnd(Animation animation) {
startActivity(new Intent(getActivity(), HomeActivity.class));
ActivityManager.getInstance().finishActivity();
}
@Override
public void onAnimationRepeat(Animation animation) {
}
});
}
@Override
public void showGirl(String girlUrl) {
Glide.with(getActivity())
.load(girlUrl)
.animate(scaleAnimation)
.into(mSplashImg);
}
@Override
public void showGirl() {
Glide.with(getActivity())
.load(R.drawable.welcome)
.diskCacheStrategy(DiskCacheStrategy.SOURCE)
.animate(scaleAnimation)
.into(mSplashImg);
}
@Override
public void onResume() {
super.onResume();
mPresenter.start();
}
@Override
public void onDestroyView() {
super.onDestroyView();
unbinder.unbind();
}
}