Usually animations (especially ViewPropertyAnimator
) require the layout of the views to be completed before they can be applied. We already have a method for this in the GameFragment
, so we are going to generalize it and make it a part of the BaseFragment
.
The method uses ViewTreeObserver
to check when the layout of the view has been completed. The code we will add to the BaseFragment
is like this:
@Override public void onViewCreated(View view, Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); getYassActivity().applyTypeface(view); final ViewTreeObserver obs = view.getViewTreeObserver(); obs.addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() { @Override public synchronized void onGlobalLayout() { ViewTreeObserver viewTreeObserver = getView().getViewTreeObserver(); if (viewTreeObserver.isAlive()) { if (Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN) { viewTreeObserver...