Created
November 17, 2020 11:16
-
-
Save Nyame123/5cf49120ec13b505cd60b24295a87cb3 to your computer and use it in GitHub Desktop.
Create transition example
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package com.bisapp.android_animations; | |
import android.os.Bundle; | |
import android.transition.ChangeBounds; | |
import android.transition.Fade; | |
import android.transition.Scene; | |
import android.transition.Transition; | |
import android.transition.TransitionManager; | |
import android.transition.TransitionSet; | |
import android.view.LayoutInflater; | |
import android.view.View; | |
import android.view.ViewGroup; | |
import android.widget.Button; | |
import android.widget.FrameLayout; | |
import androidx.annotation.NonNull; | |
import androidx.fragment.app.Fragment; | |
import org.jetbrains.annotations.NotNull; | |
public class TransitionExFragment extends Fragment { | |
private Scene firstScene; | |
private Scene secondScene; | |
private FrameLayout sceneRoot; | |
private boolean transitionStarted; | |
@Override | |
public View onCreateView( | |
LayoutInflater inflater, ViewGroup container, | |
Bundle savedInstanceState | |
) { | |
// Inflate the layout for this fragment | |
return inflater.inflate(R.layout.fragment_transition, container, false); | |
} | |
public void onViewCreated(@NonNull final View view, Bundle savedInstanceState) { | |
super.onViewCreated(view, savedInstanceState); | |
createScene(view); | |
final TransitionSet transitionSet = getTransitionSet(); | |
transitionStarted = false; | |
view.findViewById(R.id.goBtn).setOnClickListener(new View.OnClickListener() { | |
@Override | |
public void onClick(View v) { | |
transitionStarted = !transitionStarted; | |
if (transitionStarted){ | |
TransitionManager.go(secondScene,transitionSet); | |
}else { | |
TransitionManager.go(firstScene,transitionSet); | |
} | |
} | |
}); | |
} | |
@NotNull | |
private TransitionSet getTransitionSet() { | |
final ChangeBounds changeBounds = new ChangeBounds(); | |
final TransitionSet transitionSet = new TransitionSet(); | |
transitionSet.addTransition(changeBounds); | |
transitionSet.addTransition(new Fade()); | |
return transitionSet; | |
} | |
private void createScene(@NonNull View view) { | |
// Create the scene root for the scenes in this app | |
sceneRoot = view.findViewById(R.id.scene_root); | |
// Create the scenes | |
firstScene = Scene.getSceneForLayout(sceneRoot,R.layout.first_scene,getContext()); | |
secondScene = Scene.getSceneForLayout(sceneRoot,R.layout.second_scene,getContext()); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment