【发布时间】:2016-02-11 00:20:03
【问题描述】:
我有一个静态定义的相对布局,高度设置为wrap_content。
我动态地添加了几个孩子。这看起来很好。
我现在必须再添加几个孩子,并将它们排列在之前添加的孩子之上。这类作品。 (注意:只有在实际添加了之前添加的孩子之后,我才能执行此操作,因为我的新孩子取决于他们的宽度。)
如果我将布局高度更改为 50dp vs wrap_content,我只能看到更改。
我尝试在控股布局上调用invalidate()、postInvalidate() 和requestLayout(),但这不起作用。我没有做什么?
public void layOutExtras(CustomView section) {
if (section.isUnderlined()) {
int labelOrientation = section.getLabelOrientation();
View line = createLine(labelOrientation, section.getMeasuredWidth(), section.getId());
addView(line);
}
}
private View createLine(int orientation, int width, int viewId) {
RelativeLayout.LayoutParams params = new LayoutParams(width, 4);
params.addRule(ABOVE, viewId);
params.addRule(ALIGN_RIGHT, viewId);
View line = new ImageView(context);
line.setBackgroundColor(Color.RED);
line.setLayoutParams(params);
return line;
}
【问题讨论】:
-
您当然可以通过编程方式更新视图。这一直在发生。但是你还没有真正说出你想要做什么,展示你的布局,或者显示你所期望的与实际发生的不同的屏幕截图。
标签: android android-relativelayout