List of usage examples for android.view View getViewTreeObserver
public ViewTreeObserver getViewTreeObserver()
From source file:Main.java
/** Runs a piece of code just before the next draw, after layout and measurement */ public static void doOnPreDraw(final View view, final boolean drawNextFrame, final Runnable runnable) { final OnPreDrawListener listener = new OnPreDrawListener() { @Override/*www . j a v a 2 s. c o m*/ public boolean onPreDraw() { view.getViewTreeObserver().removeOnPreDrawListener(this); runnable.run(); return drawNextFrame; } }; view.getViewTreeObserver().addOnPreDrawListener(listener); }
From source file:com.getkeepsafe.taptargetview.ViewUtil.java
/** Executes the given {@link java.lang.Runnable} when the view is laid out **/ static void onLaidOut(final View view, final Runnable runnable) { if (isLaidOut(view)) { runnable.run();//from www .j a v a 2 s. c om return; } final ViewTreeObserver observer = view.getViewTreeObserver(); observer.addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() { @Override public void onGlobalLayout() { final ViewTreeObserver trueObserver; if (observer.isAlive()) { trueObserver = observer; } else { trueObserver = view.getViewTreeObserver(); } removeOnGlobalLayoutListener(trueObserver, this); runnable.run(); } }); }
From source file:com.arlib.floatingsearchview.util.Util.java
public static void removeGlobalLayoutObserver(View view, ViewTreeObserver.OnGlobalLayoutListener layoutListener) { if (Build.VERSION.SDK_INT < 16) { view.getViewTreeObserver().removeGlobalOnLayoutListener(layoutListener); } else {//from w ww .ja v a 2s . c o m view.getViewTreeObserver().removeOnGlobalLayoutListener(layoutListener); } }
From source file:Main.java
/** Runs a piece of code after the next layout run */ public static void doAfterLayout(final View view, final Runnable runnable) { final OnGlobalLayoutListener listener = new OnGlobalLayoutListener() { @Override/*w w w . j a va 2 s . c o m*/ public void onGlobalLayout() { // Layout pass done, unregister for further events view.getViewTreeObserver().removeOnGlobalLayoutListener(this); runnable.run(); } }; view.getViewTreeObserver().addOnGlobalLayoutListener(listener); }
From source file:com.lixplor.fastutil.utils.control.KeyboardUtil.java
public static void setOnKeyboardVisibilityChangedListener(@NonNull Activity activity, @NonNull final OnKeyboardVisibilityChangedListener onKeyboardVisibilityChangedListener) { View rootLayout = activity.findViewById(android.R.id.content); sMyOnGlobalLayoutListener = new MyOnGlobalLayoutListener(activity, onKeyboardVisibilityChangedListener); rootLayout.getViewTreeObserver().addOnGlobalLayoutListener(sMyOnGlobalLayoutListener); }
From source file:Main.java
/** * Runs a piece of code after the next layout run * * @param view The {@link View} used. * @param runnable The {@link Runnable} used after the next layout run */// w w w.j ava 2s . c om @SuppressLint("NewApi") public static void doAfterLayout(final View view, final Runnable runnable) { final OnGlobalLayoutListener listener = new OnGlobalLayoutListener() { @SuppressWarnings("deprecation") @Override public void onGlobalLayout() { /* Layout pass done, unregister for further events */ view.getViewTreeObserver().removeOnGlobalLayoutListener(this); runnable.run(); } }; view.getViewTreeObserver().addOnGlobalLayoutListener(listener); }
From source file:Main.java
public static void removeGlobalLayoutListener(final View view, final ViewTreeObserver.OnGlobalLayoutListener listener) { if (view == null) { return;/*from ww w .j a va 2 s . c o m*/ } removeGlobalLayoutListener(view.getViewTreeObserver(), listener); }
From source file:Main.java
/** * Runs a piece of code after the next layout run * /*from w w w . ja v a2s .c o m*/ * @param view The {@link View} used. * @param runnable The {@link Runnable} used after the next layout run */ @SuppressLint("NewApi") public static void doAfterLayout(final View view, final Runnable runnable) { final OnGlobalLayoutListener listener = new OnGlobalLayoutListener() { @SuppressWarnings("deprecation") @Override public void onGlobalLayout() { /* Layout pass done, unregister for further events */ if (hasJellyBean()) { view.getViewTreeObserver().removeOnGlobalLayoutListener(this); } else { view.getViewTreeObserver().removeGlobalOnLayoutListener(this); } runnable.run(); } }; view.getViewTreeObserver().addOnGlobalLayoutListener(listener); }
From source file:com.agenmate.lollipop.util.ViewUtils.java
public static void waitForLayoutPrepared(final View view, final LayoutPreparedListener listener) { final ViewTreeObserver viewTreeObserver = view.getViewTreeObserver(); if (viewTreeObserver != null) { viewTreeObserver.addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() { @Override/*from w w w . j ava 2s . c om*/ public void onGlobalLayout() { invokeLayoutListener(); removeGlobalOnLayoutListenerIfNeeded(); } private void invokeLayoutListener() { if (listener != null) { listener.onLayoutPrepared(view); } } private void removeGlobalOnLayoutListenerIfNeeded() { final ViewTreeObserver laterViewTreeObserver = view.getViewTreeObserver(); if (laterViewTreeObserver != null && laterViewTreeObserver.isAlive()) { laterViewTreeObserver.removeGlobalOnLayoutListener(this); } } }); } }
From source file:github.nisrulz.qreader.QREader.java
@TargetApi(Build.VERSION_CODES.JELLY_BEAN) private static void removeOnGlobalLayoutListener(View v, ViewTreeObserver.OnGlobalLayoutListener listener) { if (Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN) { v.getViewTreeObserver().removeGlobalOnLayoutListener(listener); } else {/*from w w w .j a v a2s.co m*/ v.getViewTreeObserver().removeOnGlobalLayoutListener(listener); } }