package com.lgvalle.material_animations;
import android.databinding.DataBindingUtil;
import android.os.Bundle;
import android.transition.Explode;
import android.transition.Transition;
import android.transition.TransitionInflater;
import android.view.View;
import com.lgvalle.material_animations.databinding.ActivityTransition2Binding;
public class TransitionActivity2 extends BaseDetailActivity {
private int type;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
bindData();
setupWindowAnimations();
setupLayout();
setupToolbar();
}
private void bindData() {
ActivityTransition2Binding binding = DataBindingUtil.setContentView(this, R.layout.activity_transition2);
Sample sample = (Sample) getIntent().getExtras().getSerializable(EXTRA_SAMPLE);
type = getIntent().getExtras().getInt(EXTRA_TYPE);
binding.setTransition2Sample(sample);
}
private void setupWindowAnimations() {
Transition transition;
if (type == TYPE_PROGRAMMATICALLY) {
transition = buildEnterTransition();
} else {
transition = TransitionInflater.from(this).inflateTransition(R.transition.explode);
}
getWindow().setEnterTransition(transition);
}
private void setupLayout() {
findViewById(R.id.exit_button).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
finishAfterTransition();
}
});
}
private Transition buildEnterTransition() {
Explode enterTransition = new Explode();
enterTransition.setDuration(getResources().getInteger(R.integer.anim_duration_long));
return enterTransition;
}
}