当前位置: 首页>>代码示例>>Java>>正文


Java ViewTreeObserver.isAlive方法代码示例

本文整理汇总了Java中android.view.ViewTreeObserver.isAlive方法的典型用法代码示例。如果您正苦于以下问题:Java ViewTreeObserver.isAlive方法的具体用法?Java ViewTreeObserver.isAlive怎么用?Java ViewTreeObserver.isAlive使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在android.view.ViewTreeObserver的用法示例。


在下文中一共展示了ViewTreeObserver.isAlive方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: cancel

import android.view.ViewTreeObserver; //导入方法依赖的package包/类
void cancel() {
  creator.clearTag();
  callback = null;

  ImageView target = this.target.get();
  if (target == null) {
    return;
  }
  this.target.clear();

  target.removeOnAttachStateChangeListener(this);

  ViewTreeObserver vto = target.getViewTreeObserver();
  if (vto.isAlive()) {
    vto.removeOnPreDrawListener(this);
  }
}
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:18,代码来源:DeferredRequestCreator.java

示例2: cleanup

import android.view.ViewTreeObserver; //导入方法依赖的package包/类
/**
 * Clean-up the resources attached to this object. This needs to be called when the ImageView is
 * no longer used. A good example is from {@link android.view.View#onDetachedFromWindow()} or
 * from {@link android.app.Activity#onDestroy()}. This is automatically called if you are using
 * {@link uk.co.senab.photoview.PhotoView}.
 */
@SuppressWarnings("deprecation")
public void cleanup() {
    if (null == mImageView) {
        return; // cleanup already done
    }

    final ImageView imageView = mImageView.get();

    if (null != imageView) {
        // Remove this as a global layout listener
        ViewTreeObserver observer = imageView.getViewTreeObserver();
        if (null != observer && observer.isAlive()) {
            observer.removeGlobalOnLayoutListener(this);
        }

        // Remove the ImageView's reference to this
        imageView.setOnTouchListener(null);

        // make sure a pending fling runnable won't be run
        cancelFling();
    }

    if (null != mGestureDetector) {
        mGestureDetector.setOnDoubleTapListener(null);
    }

    // Clear listeners too
    mMatrixChangeListener = null;
    mPhotoTapListener = null;
    mViewTapListener = null;

    // Finally, clear ImageView
    mImageView = null;
}
 
开发者ID:joelan,项目名称:ClouldReader,代码行数:41,代码来源:PhotoViewAttacher.java

示例3: startAnimation

import android.view.ViewTreeObserver; //导入方法依赖的package包/类
private void startAnimation() {
    rootLayout = (CoordinatorLayout) findViewById(R.id.parent_layout);
    rootLayout.setVisibility(View.INVISIBLE);
    ViewTreeObserver viewTreeObserver = rootLayout.getViewTreeObserver();
    if (viewTreeObserver.isAlive()) {
        viewTreeObserver.addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
            @Override
            public void onGlobalLayout() {
                if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP)
                    circularRevealActivity();
                else
                    rootLayout.setVisibility(View.VISIBLE);
                if (Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN) {
                    rootLayout.getViewTreeObserver().removeGlobalOnLayoutListener(this);
                } else {
                    rootLayout.getViewTreeObserver().removeOnGlobalLayoutListener(this);
                }
            }
        });
    }
}
 
开发者ID:hypertrack,项目名称:hypertrack-live-android,代码行数:22,代码来源:Home.java

示例4: cleanup

import android.view.ViewTreeObserver; //导入方法依赖的package包/类
public void cleanup() {
    if (this.mImageView != null) {
        ImageView imageView = (ImageView) this.mImageView.get();
        if (imageView != null) {
            ViewTreeObserver observer = imageView.getViewTreeObserver();
            if (observer != null && observer.isAlive()) {
                observer.removeGlobalOnLayoutListener(this);
            }
            imageView.setOnTouchListener(null);
            cancelFling();
        }
        if (this.mGestureDetector != null) {
            this.mGestureDetector.setOnDoubleTapListener(null);
        }
        this.mMatrixChangeListener = null;
        this.mPhotoTapListener = null;
        this.mViewTapListener = null;
        this.mImageView = null;
    }
}
 
开发者ID:JackChan1999,项目名称:boohee_v5.6,代码行数:21,代码来源:PhotoViewAttacher.java

示例5: cleanup

import android.view.ViewTreeObserver; //导入方法依赖的package包/类
/**
 * Clean-up the resources attached to this object. This needs to be called when the ImageView is
 * no longer used. A good example is from {@link View#onDetachedFromWindow()} or
 * from {@link android.app.Activity#onDestroy()}. This is automatically called if you are using
 */
@SuppressWarnings("deprecation")
public void cleanup() {
    if (null == mImageView) {
        return; // cleanup already done
    }

    final ImageView imageView = mImageView.get();

    if (null != imageView) {
        // Remove this as a global layout listener
        ViewTreeObserver observer = imageView.getViewTreeObserver();
        if (null != observer && observer.isAlive()) {
            observer.removeGlobalOnLayoutListener(this);
        }

        // Remove the ImageView's reference to this
        imageView.setOnTouchListener(null);

        // make sure a pending fling runnable won't be run
        cancelFling();
    }

    if (null != mGestureDetector) {
        mGestureDetector.setOnDoubleTapListener(null);
    }

    // Clear listeners too
    mMatrixChangeListener = null;
    mPhotoTapListener = null;
    mViewTapListener = null;

    // Finally, clear ImageView
    mImageView = null;
}
 
开发者ID:snowwolf10285,项目名称:PicShow-zhaipin,代码行数:40,代码来源:PhotoViewAttacher.java

示例6: scrollToTabAfterLayout

import android.view.ViewTreeObserver; //导入方法依赖的package包/类
private void scrollToTabAfterLayout(final int tabIndex) {
    //from http://stackoverflow.com/a/34780589/3697225
    if (mTabLayout != null) {
        final ViewTreeObserver observer = mTabLayout.getViewTreeObserver();

        if (observer.isAlive()) {
            observer.dispatchOnGlobalLayout(); // In case a previous call is waiting when this call is made
            observer.addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
                @Override
                public void onGlobalLayout() {
                    mTabLayout.getViewTreeObserver().removeGlobalOnLayoutListener(this);
                    mTabLayout.getTabAt(tabIndex).select();
                }
            });
        }
    }
}
 
开发者ID:ccrama,项目名称:Slide-RSS,代码行数:18,代码来源:MainActivity.java

示例7: animateViewAfterMeasured

import android.view.ViewTreeObserver; //导入方法依赖的package包/类
private void animateViewAfterMeasured(final View view) {
    final ViewTreeObserver vto = view.getViewTreeObserver();
    if (!vto.isAlive()) {
        sharePickerView.setVisibility(GONE);
        return;
    }

    vto.addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
        @Override
        public void onGlobalLayout() {
            if (view.getHeight() > 0 || view.getWidth() > 0) {
                if (vto.isAlive()) {
                    vto.removeGlobalOnLayoutListener(this);
                    animateAppear();
                }
            }
        }
    });
}
 
开发者ID:roshakorost,项目名称:Phial,代码行数:20,代码来源:ShareView.java

示例8: clearCallbacksAndListener

import android.view.ViewTreeObserver; //导入方法依赖的package包/类
void clearCallbacksAndListener() {
  // Keep a reference to the layout listener and remove it here
  // rather than having the observer remove itself because the observer
  // we add the listener to will be almost immediately merged into
  // another observer and will therefore never be alive. If we instead
  // keep a reference to the listener and remove it here, we get the
  // current view tree observer and should succeed.
  ViewTreeObserver observer = view.getViewTreeObserver();
  if (observer.isAlive()) {
    observer.removeOnPreDrawListener(layoutListener);
  }
  layoutListener = null;
  cbs.clear();
}
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:15,代码来源:ViewTarget.java

示例9: onDetachedFromWindow

import android.view.ViewTreeObserver; //导入方法依赖的package包/类
protected void onDetachedFromWindow() {
    super.onDetachedFromWindow();
    ActivityChooserModel dataModel = this.mAdapter.getDataModel();
    if (dataModel != null) {
        dataModel.unregisterObserver(this.mModelDataSetOberver);
    }
    ViewTreeObserver viewTreeObserver = getViewTreeObserver();
    if (viewTreeObserver.isAlive()) {
        viewTreeObserver.removeGlobalOnLayoutListener(this.mOnGlobalLayoutListener);
    }
    if (isShowingPopup()) {
        dismissPopup();
    }
    this.mIsAttachedToWindow = false;
}
 
开发者ID:JackChan1999,项目名称:boohee_v5.6,代码行数:16,代码来源:ActivityChooserView.java

示例10: toggle

import android.view.ViewTreeObserver; //导入方法依赖的package包/类
private void toggle(final boolean visible, final boolean animate, boolean force) {
    if (mVisible != visible || force) {
        mVisible = visible;
        int height = getHeight();
        if (height == 0 && !force) {
            ViewTreeObserver vto = getViewTreeObserver();
            if (vto.isAlive()) {
                vto.addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() {
                    @Override
                    public boolean onPreDraw() {
                        ViewTreeObserver currentVto = getViewTreeObserver();
                        if (currentVto.isAlive()) {
                            currentVto.removeOnPreDrawListener(this);
                        }
                        toggle(visible, animate, true);
                        return true;
                    }
                });
                return;
            }
        }
        int translationY = visible ? 0 : height + getMarginBottom();
        if (animate) {
            animate().setInterpolator(mInterpolator)
                .setDuration(TRANSLATE_DURATION_MILLIS)
                .translationY(translationY);
        } else {
            setTranslationY(translationY);
        }
        // On pre-Honeycomb a translated view is still clickable, so we need to disable clicks manually
        if (!Utils.hasHoneycomb()) {
            setClickable(visible);
        }
    }

}
 
开发者ID:gigabytedevelopers,项目名称:FireFiles,代码行数:37,代码来源:FloatingActionButton.java

示例11: dismissPopup

import android.view.ViewTreeObserver; //导入方法依赖的package包/类
public boolean dismissPopup() {
    if (isShowingPopup()) {
        getListPopupWindow().dismiss();
        ViewTreeObserver viewTreeObserver = getViewTreeObserver();
        if (viewTreeObserver.isAlive()) {
            viewTreeObserver.removeGlobalOnLayoutListener(this.mOnGlobalLayoutListener);
        }
    }
    return true;
}
 
开发者ID:JackChan1999,项目名称:boohee_v5.6,代码行数:11,代码来源:ActivityChooserView.java

示例12: dismissPopup

import android.view.ViewTreeObserver; //导入方法依赖的package包/类
/**
 * Dismisses the popup window with activities.
 *
 * @return True if dismissed, false if already dismissed.
 */
public boolean dismissPopup() {
    if (isShowingPopup()) {
        getListPopupWindow().dismiss();
        ViewTreeObserver viewTreeObserver = getViewTreeObserver();
        if (viewTreeObserver.isAlive()) {
            viewTreeObserver.removeGlobalOnLayoutListener(mOnGlobalLayoutListener);
        }
    }
    return true;
}
 
开发者ID:treasure-lau,项目名称:CSipSimple,代码行数:16,代码来源:ActivityChooserView.java

示例13: animationReveal

import android.view.ViewTreeObserver; //导入方法依赖的package包/类
protected void animationReveal(Bundle savedInstanceState) {
    cx = getResources().getDisplayMetrics().widthPixels - 120;
    cy = getResources().getDisplayMetrics().heightPixels - 180;
    final View rootLayout = getWindow().getDecorView().getRootView();
    if (savedInstanceState == null) {
        rootLayout.setVisibility(View.INVISIBLE);
        ViewTreeObserver viewTreeObserver = rootLayout.getViewTreeObserver();
        if (viewTreeObserver.isAlive()) {
            viewTreeObserver.addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
                @Override
                public void onGlobalLayout() {
                    float finalRadius = Math.max(rootLayout.getWidth(), rootLayout.getHeight());
                    // create the animator for this view (the start radius is zero)
                    Animator circularReveal = ViewAnimationUtils.createCircularReveal(rootLayout, cx, cy, 0, finalRadius);
                    circularReveal.setDuration(revealTime);

                    // make the view visible and start the animation
                    rootLayout.setVisibility(View.VISIBLE);
                    circularReveal.start();
                    if (Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN) {
                        rootLayout.getViewTreeObserver().removeGlobalOnLayoutListener(this);
                    } else {
                        rootLayout.getViewTreeObserver().removeOnGlobalLayoutListener(this);
                    }
                }
            });
        }
    }
}
 
开发者ID:AndroidNewbies,项目名称:Sanxing,代码行数:30,代码来源:OperateItemActivityBase.java

示例14: toggle

import android.view.ViewTreeObserver; //导入方法依赖的package包/类
private void toggle(final boolean visible, final boolean animate, boolean force) {
        if (mVisible != visible || force) {
                mVisible = visible;
                int height = getHeight();
                if (height == 0 && !force) {
                        ViewTreeObserver vto = getViewTreeObserver();
                        if (vto.isAlive()) {
                                vto.addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() {
                                        @Override
                                        public boolean onPreDraw() {
                                                ViewTreeObserver currentVto = getViewTreeObserver();
                                                if (currentVto.isAlive()) {
                                                        currentVto.removeOnPreDrawListener(this);
                                                }
                                                toggle(visible, animate, true);
                                                return true;
                                        }
                                });
                                return;
                        }
                }
                int translationY = visible ? 0 : height + mAddButton.getMarginBottom();
                if (animate) {
                        ViewPropertyAnimator.animate(this).setInterpolator(mInterpolator)
                                .setDuration(TRANSLATE_DURATION_MILLIS)
                                .translationY(translationY);
                } else {
                        ViewHelper.setTranslationY(this, translationY);
                }

                // On pre-Honeycomb a translated view is still clickable, so we need to disable clicks manually
                if (!hasHoneycombApi()) {
                        setClickable(visible);
                }
        }
}
 
开发者ID:HelloChenJinJun,项目名称:TestChat,代码行数:37,代码来源:FloatingActionsMenu.java

示例15: toggle

import android.view.ViewTreeObserver; //导入方法依赖的package包/类
private void toggle(final boolean visible, final boolean animate, boolean force) {
    if (mVisible != visible || force) {
        mVisible = visible;
        int height = getHeight();
        if (height == 0 && !force) {
            ViewTreeObserver vto = getViewTreeObserver();
            if (vto.isAlive()) {
                // view树完成测量并且分配空间而绘制过程还没有开始的时候播放动画。
                vto.addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() {
                    @Override
                    public boolean onPreDraw() {
                        ViewTreeObserver currentVto = getViewTreeObserver();
                        if (currentVto.isAlive()) {
                            currentVto.removeOnPreDrawListener(this);
                        }
                        toggle(visible, animate, true);
                        return true;
                    }
                });
                return;
            }
        }
        int translationY = visible ? 0 : height;
        if (animate) {
            animate().setInterpolator(mInterpolator)
                    .setDuration(TRANSLATE_DURATION_MILLIS)
                    .translationY(translationY);
        } else {
            ViewCompat.setTranslationY(this, translationY);
        }
    }
}
 
开发者ID:LonelyMushroom,项目名称:GroceriesRoom,代码行数:33,代码来源:BottomBar.java


注:本文中的android.view.ViewTreeObserver.isAlive方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。