下面列出了android.view.ViewGroup#isInLayout ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
/**
* remove a view
*
* @param parent
* @param view
*/
public static void removeView(ViewGroup parent, View view) {
//这里不使用post来做,这样代码更可控,而是改为将refresh下拉动作延后一帧处理,见@link
//这里调用removeViewInLayout方法,可以在onLayout的时候调用,否则会产生问题
if (parent != null && view != null) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2) {
if (parent.isInLayout()) {
parent.removeViewInLayout(view);
} else {
parent.removeView(view);
}
} else {
parent.removeView(view);
}
}
}
/**
* remove all views
*
* @param viewGroup
*/
public static void removeAllViews(ViewGroup viewGroup) {
if (viewGroup != null) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2) {
if (viewGroup.isInLayout()) {
viewGroup.removeAllViewsInLayout();
} else {
viewGroup.removeAllViews();
}
} else {
viewGroup.removeAllViews();
}
}
}