Example usage for android.view View getViewTreeObserver

List of usage examples for android.view View getViewTreeObserver

Introduction

In this page you can find the example usage for android.view View getViewTreeObserver.

Prototype

public ViewTreeObserver getViewTreeObserver() 

Source Link

Document

Returns the ViewTreeObserver for this view's hierarchy.

Usage

From source file:Main.java

public static void initViewWHAndGone(final View view) {
    view.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
        @Override//from w w w . j a v a  2s .c  o  m
        public void onGlobalLayout() {
            view.getViewTreeObserver().removeGlobalOnLayoutListener(this);
            view.setVisibility(View.GONE);
        }
    });

}

From source file:Main.java

public static void initViewWH(final View view) {
    view.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
        @Override/*w w w  .  j a  v a2 s . co  m*/
        public void onGlobalLayout() {
            view.getViewTreeObserver().removeGlobalOnLayoutListener(this);
            System.out.println(view + ", width: " + view.getWidth() + "; height: " + view.getHeight());
        }
    });

}

From source file:Main.java

@Deprecated
public static void initViewWHAndGone(final View view) {
    view.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
        @Override/*  w ww.  j a  v  a 2 s  . c  o  m*/
        public void onGlobalLayout() {
            view.getViewTreeObserver().removeGlobalOnLayoutListener(this);
            view.setVisibility(View.GONE);
        }
    });

}

From source file:Main.java

@Deprecated
public static void initViewWH(final View view) {
    view.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
        @Override/*from  w  ww.j  ava 2s. c o m*/
        public void onGlobalLayout() {
            view.getViewTreeObserver().removeGlobalOnLayoutListener(this);
            System.out.println(view + ", width: " + view.getWidth() + "; height: " + view.getHeight());
        }
    });

}

From source file:Main.java

public static void postOnPreDraw(final View view, final Runnable runnable) {
    view.getViewTreeObserver().addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() {
        @Override/*from ww w. ja  v  a  2  s .c  o  m*/
        public boolean onPreDraw() {
            view.getViewTreeObserver().removeOnPreDrawListener(this);
            runnable.run();
            return true;
        }
    });
}

From source file:Main.java

public static void addGlobalLayoutRequest(final View v, final Runnable runnable) {
    v.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
        public void onGlobalLayout() {
            if (runnable != null)
                runnable.run();/*from www . j a  v  a  2s .co  m*/

            removeOnGlobalLayoutListener(v, this);
        }
    });

    v.requestLayout();
}

From source file:Main.java

public static void startAnimationAfterNextDraw(final Animator animator, final View view) {
    view.getViewTreeObserver().addOnDrawListener(new ViewTreeObserver.OnDrawListener() {
        private boolean mStarted = false;

        public void onDraw() {
            if (mStarted)
                return;
            mStarted = true;/*w  w  w.  j  av a2 s  .  c  o  m*/
            // Use this as a signal that the animation was cancelled
            if (animator.getDuration() == 0) {
                return;
            }
            animator.start();

            final ViewTreeObserver.OnDrawListener listener = this;
            view.post(new Runnable() {
                public void run() {
                    view.getViewTreeObserver().removeOnDrawListener(listener);
                }
            });
        }
    });
}

From source file:Main.java

public static void enterReveal(final View view) {
    view.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
        @Override/*  w w w  .  j a v  a 2 s . c  om*/
        public void onGlobalLayout() {
            Animator animator = null;

            view.getViewTreeObserver().removeOnGlobalLayoutListener(this);

            int cx = view.getMeasuredWidth() / 2;
            int cy = view.getMeasuredHeight() / 2;

            try {
                final int finalRadius = Math.max(view.getWidth(), view.getHeight()) / 2 + 125;
                animator = ViewAnimationUtils.createCircularReveal(view, cx, cy, 0, finalRadius);

                animator.addListener(new AnimatorListenerAdapter() {
                    @Override
                    public void onAnimationEnd(Animator animation) {
                        super.onAnimationEnd(animation);
                    }
                });
            } catch (Exception ignored) {
            }

            view.setVisibility(View.VISIBLE);
            if (animator != null) {
                animator.start();
            }
        }
    });
}

From source file:Main.java

public static void initializeDrawListener(View view) {
    if (sGlobalDrawListener != null) {
        view.getViewTreeObserver().removeOnDrawListener(sGlobalDrawListener);
    }/*from  www .j a va 2  s  .c  o  m*/
    sGlobalDrawListener = new ViewTreeObserver.OnDrawListener() {
        private long mTime = System.currentTimeMillis();

        public void onDraw() {
            sGlobalFrameCounter++;
            if (DEBUG) {
                long newTime = System.currentTimeMillis();
                Log.d("FirstFrameAnimatorHelper", "TICK " + (newTime - mTime));
                mTime = newTime;
            }
        }
    };
    view.getViewTreeObserver().addOnDrawListener(sGlobalDrawListener);
}

From source file:Main.java

public static void initializeDrawListener(View view) {
    if (sGlobalDrawListener != null) {
        view.getViewTreeObserver().removeOnDrawListener(sGlobalDrawListener);
    }//from  w  w w  .  jav  a  2s .com
    sGlobalDrawListener = new ViewTreeObserver.OnDrawListener() {
        private long mTime = System.currentTimeMillis();

        public void onDraw() {
            sGlobalFrameCounter++;
            if (DEBUG) {
                long newTime = System.currentTimeMillis();
                mTime = newTime;
            }
        }
    };
    view.getViewTreeObserver().addOnDrawListener(sGlobalDrawListener);
    sVisible = true;
}