Use an OnPreDrawListener instead of an OnGlobalLayoutListener
Factorize a bit