/** * Remove the OnGlobalLayoutListener from the activity root view * * @param activity same activity used in {@link #attach} method * @param l ViewTreeObserver.OnGlobalLayoutListener returned by {@link #attach} method */ @TargetApi(Build.VERSION_CODES.JELLY_BEAN) public static void detach(Activity activity, ViewTreeObserver.OnGlobalLayoutListener l) { ViewGroup contentView = activity.findViewById(android.R.id.content); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) { contentView.getViewTreeObserver().removeOnGlobalLayoutListener(l); } else { //noinspection deprecation contentView.getViewTreeObserver().removeGlobalOnLayoutListener(l); } }
public static void setOverflowButtonColor(final Activity activity) { final String overflowDescription = activity.getString(R.string.abc_action_menu_overflow_description); final ViewGroup decorView = (ViewGroup) activity.getWindow().getDecorView(); final ViewTreeObserver viewTreeObserver = decorView.getViewTreeObserver(); viewTreeObserver.addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() { @Override public void onGlobalLayout() { final ArrayList<View> outViews = new ArrayList<View>(); decorView.findViewsWithText(outViews, overflowDescription, View.FIND_VIEWS_WITH_CONTENT_DESCRIPTION); if (outViews.isEmpty()) { return; } AppCompatImageView overflow=(AppCompatImageView) outViews.get(0); overflow.setColorFilter(Color.CYAN); removeOnGlobalLayoutListener(decorView,this); } }); }
private void removeListeners() { mSceneRoot.getViewTreeObserver().removeOnPreDrawListener(this); mSceneRoot.removeOnAttachStateChangeListener(this); }
@TargetApi(Build.VERSION_CODES.HONEYCOMB_MR1) private static void sceneChangeRunTransition(final @Nullable ViewGroup sceneRoot, final @Nullable Transition transition) { if (transition != null && sceneRoot != null && isTransitionsAllowed()) { ViewGroupOverlayUtils.initializeOverlay(sceneRoot); MultiListener listener = new MultiListener(transition, sceneRoot); sceneRoot.addOnAttachStateChangeListener(listener); sceneRoot.getViewTreeObserver().addOnPreDrawListener(listener); } else { sPendingTransitions.remove(sceneRoot); } }
screenHeight); contentView.getViewTreeObserver().addOnGlobalLayoutListener(globalLayoutListener); return globalLayoutListener;
rootLayout.getViewTreeObserver().addOnGlobalLayoutListener(keyboardLayoutListener); rootLayout.getViewTreeObserver().removeGlobalOnLayoutListener(keyboardLayoutListener);
@TargetApi(Build.VERSION_CODES.JELLY_BEAN) @Override public void onGlobalLayout() { T view; if ((view = getHostView()) == null) return; mViewOnScrollListener.onScrolled(view.getInnerView(), 0, 0); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) { view.getViewTreeObserver().removeOnGlobalLayoutListener(this); } else { view.getViewTreeObserver().removeGlobalOnLayoutListener(this); } } });
/** * Adds layout listener to view parent to capture layout changes. */ void addGlobalLayoutListener() { final ViewTreeObserver viewTreeObserver = ((ViewGroup) mView.getParent()).getViewTreeObserver(); if (viewTreeObserver.isAlive()) { viewTreeObserver.addOnGlobalLayoutListener(mGlobalLayoutListener); } }
@Override public void onGlobalLayout() { ViewUtil.removeOnGlobalLayoutListener( tabContainer.getViewTreeObserver(), this); TabSwitcher.this.layout.onGlobalLayout(); }
/** * Removes global layout listener added in {@link #addGlobalLayoutListener()}. */ void removeGlobalLayoutListener() { final ViewGroup parent = (ViewGroup) mView.getParent(); if (parent == null) { return; } final ViewTreeObserver viewTreeObserver = ((ViewGroup) mView.getParent()).getViewTreeObserver(); if (viewTreeObserver.isAlive()) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) { viewTreeObserver.removeOnGlobalLayoutListener(mGlobalLayoutListener); } else { //noinspection deprecation viewTreeObserver.removeGlobalOnLayoutListener(mGlobalLayoutListener); } } }
host.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() { @TargetApi(Build.VERSION_CODES.JELLY_BEAN) @Override
@Override public void onGlobalLayout() { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) { mRootView.getViewTreeObserver().removeOnGlobalLayoutListener(mRootViewGlobalLayoutListener); } addBackgroundViewToRootView(); } };
this.layout.onGlobalLayout(); } else { tabContainer.getViewTreeObserver() .addOnGlobalLayoutListener(new OnGlobalLayoutListener() {
bounceRecyclerView.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() { @TargetApi(Build.VERSION_CODES.JELLY_BEAN) @Override
@Override public void onGlobalLayout() { rootView.getViewTreeObserver().removeOnGlobalLayoutListener(this); recyclerViewAdapter.enterSelectorMode(selectedItems); } });
@Override public void onGlobalLayout() { final ArrayList<View> outViews = new ArrayList<View>(); decorView.findViewsWithText(outViews, overflowDescription, View.FIND_VIEWS_WITH_CONTENT_DESCRIPTION); if (outViews.isEmpty()) { return; } ImageView overflow = (ImageView) outViews.get(0); overflow.setColorFilter(lightColor ? android.graphics.Color.WHITE : android.graphics.Color.BLACK); decorView.getViewTreeObserver().removeOnGlobalLayoutListener(this); } });
private void setAnimationRunning(boolean animationRunning) { if (animationRunning != mAnimationRunning) { if (animationRunning) { mStackScrollLayout.getViewTreeObserver().addOnPreDrawListener(mBackgroundUpdater); } else { mStackScrollLayout.getViewTreeObserver().removeOnPreDrawListener(mBackgroundUpdater); } mAnimationRunning = animationRunning; updateContinuousShadowDrawing(); } }
@Override public void onGlobalLayout() { parentViewGroup.getViewTreeObserver().removeOnGlobalLayoutListener(this); View swipeableView = parentViewGroup.findViewById(R.id.swipeable_view); Point nextPoint = pointCalculator.onSwipe(); swipeableView.setX(nextPoint.x); swipeableView.setY(nextPoint.y); swipeableView.requestLayout(); } });
public void animateHeaderSlidingIn() { if (!XposedHelpers.getBooleanField(mNotificationPanelView, "mQsExpanded")) { mHeaderAnimating = true; mQSContainer.getViewTreeObserver().addOnPreDrawListener(mStartHeaderSlidingIn); } }
@Override public void animateSwitchView(final long switchId, final float translationY) { assert mMobileView != null; mWrapper.getListView().getViewTreeObserver().addOnPreDrawListener(new AnimateSwitchViewOnPreDrawListener(mMobileView, switchId, translationY)); mMobileView = getViewForId(mMobileItemId); }