Java tutorial
//package com.java2s; import android.os.Build; import android.view.View; import android.view.ViewTreeObserver; import java.lang.ref.WeakReference; public class Main { public static void executeOnGlobalLayout(View view, final Runnable runnable) { final WeakReference<View> viewReference = new WeakReference<>(view); view.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() { @Override public void onGlobalLayout() { removeOnGlobalLayoutListener(viewReference.get(), this); runnable.run(); } }); } public static void removeOnGlobalLayoutListener(View view, ViewTreeObserver.OnGlobalLayoutListener victim) { if (Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN) { //noinspection deprecation view.getViewTreeObserver().removeGlobalOnLayoutListener(victim); } else { view.getViewTreeObserver().removeOnGlobalLayoutListener(victim); } } }