@@ -0,0 +1,559 @@
+package me.mattlogan.library;%0A%0Aimport android.view.View;%0Aimport android.view.ViewTreeObserver;%0A%0Aabstract class FirstLayoutListener implements ViewTreeObserver.OnGlobalLayoutListener %7B%0A%0A    private final View view;%0A    private boolean first = true;%0A%0A    FirstLayoutListener(View view) %7B%0A        this.view = view;%0A    %7D%0A%0A    @Override%0A    public void onGlobalLayout() %7B%0A        if (view.getWidth() %3E 0 && view.getHeight() %3E 0 && first) %7B%0A            onFirstLayout(view);%0A            first = false;%0A        %7D%0A    %7D%0A%0A    abstract void onFirstLayout(View view);%0A%7D%0A

Add FirstLayoutListener