我有一个静态定义的相对布局,其高度设置为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;
}
答案 0 :(得分:0)
Sounds like the issue I had a few days ago。问题可能是由于高度没有设置正确。尝试设置新视图和您正在修改的容器的最小高度。