下面列出了android.view.ViewTreeObserver#removeOnGlobalFocusChangeListener ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
public void detachFrom(ViewGroup viewGroup)
{
try
{
if (viewGroup == mViewGroup)
{
ViewTreeObserver viewTreeObserver = mViewGroup.getViewTreeObserver();
viewTreeObserver.removeOnGlobalFocusChangeListener(this);
viewTreeObserver.removeOnScrollChangedListener(this);
viewTreeObserver.removeOnGlobalLayoutListener(this);
viewTreeObserver.removeOnTouchModeChangeListener(this);
borderEffect.OnDetach(mView, viewGroup);
}
}
catch (Exception ex)
{
ex.printStackTrace();
}
}
public void detachFrom(ViewGroup viewGroup) {
try {
if (viewGroup == mViewGroup) {
ViewTreeObserver viewTreeObserver = mViewGroup.getViewTreeObserver();//获取view树的观察者
viewTreeObserver.removeOnGlobalFocusChangeListener(this);//通知全局性移除相应的listener
viewTreeObserver.removeOnScrollChangedListener(this);
viewTreeObserver.removeOnGlobalLayoutListener(this);
viewTreeObserver.removeOnTouchModeChangeListener(this);
mMetroViewBorder.OnDetach(mView, viewGroup);
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
public void detachFrom(ViewGroup viewGroup) {
try {
if (viewGroup == mViewGroup) {
ViewTreeObserver viewTreeObserver = mViewGroup.getViewTreeObserver();
viewTreeObserver.removeOnGlobalFocusChangeListener(this);
viewTreeObserver.removeOnScrollChangedListener(this);
viewTreeObserver.removeOnGlobalLayoutListener(this);
viewTreeObserver.removeOnTouchModeChangeListener(this);
borderEffect.OnDetach(mView, viewGroup);
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
public void detachFrom(ViewGroup viewGroup) {
try {
if (viewGroup == mViewGroup) {
ViewTreeObserver viewTreeObserver = mViewGroup.getViewTreeObserver();//获取view树的观察者
viewTreeObserver.removeOnGlobalFocusChangeListener(this);//通知全局性移除相应的listener
viewTreeObserver.removeOnScrollChangedListener(this);
viewTreeObserver.removeOnGlobalLayoutListener(this);
viewTreeObserver.removeOnTouchModeChangeListener(this);
mMetroViewBorder.OnDetach(mView, viewGroup);
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
public void detachFrom(ViewGroup viewGroup) {
try {
if (viewGroup == mViewGroup) {
ViewTreeObserver viewTreeObserver = mViewGroup.getViewTreeObserver();
viewTreeObserver.removeOnGlobalFocusChangeListener(this);
viewTreeObserver.removeOnScrollChangedListener(this);
viewTreeObserver.removeOnGlobalLayoutListener(this);
viewTreeObserver.removeOnTouchModeChangeListener(this);
mMetroViewBorder.OnDetach(mView, viewGroup);
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
/**
* 取消注册 ViewTreeObserver
*/
private void unRegisterViewTreeObserver(Activity activity) {
ViewTreeObserver viewTreeObserver = activity.getWindow().getDecorView().getViewTreeObserver();
viewTreeObserver.removeOnGlobalFocusChangeListener(AppViewTreeObserver.getInstance());
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
viewTreeObserver.removeOnGlobalLayoutListener(AppViewTreeObserver.getInstance());
}
viewTreeObserver.removeOnScrollChangedListener(AppViewTreeObserver.getInstance());
}
@Override
protected void onDetachedFromWindow() {
super.onDetachedFromWindow();
ViewTreeObserver obs = getViewTreeObserver();
obs.removeOnGlobalFocusChangeListener(this);
}