您的位置:首页 > 移动开发 > Android开发

android动态添加View

2015-11-25 09:12 375 查看
public void setTargetView(View target, View beAddView) {

if (beAddView.getParent() != null) {

((ViewGroup)
beAddView.getParent()).removeView(beAddView);

}

if (target == null) {

return;

}

if (target.getParent() instanceof FrameLayout) {

((FrameLayout) target.getParent()).addView(beAddView);

} else if (target.getParent() instanceof ViewGroup) {

// use a new Framelayout container for adding badge

ViewGroup parentContainer = (ViewGroup) target.getParent();

int groupIndex = parentContainer.indexOfChild(target);

parentContainer.removeView(target);

FrameLayout badgeContainer = new FrameLayout(getContext());

ViewGroup.LayoutParams parentLayoutParams = target.getLayoutParams();

badgeContainer.setLayoutParams(parentLayoutParams);

target.setLayoutParams(new ViewGroup.LayoutParams(

ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));

parentContainer.addView(badgeContainer, groupIndex, parentLayoutParams);

badgeContainer.addView(target);

badgeContainer.addView(beAddView);

} else if (target.getParent() == null) {

Log.e(getClass().getSimpleName(), "ParentView is needed");

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: