我使用 RelativeLayout
来放置 View ,使用 LayoutParams
并设置顶部(y 坐标)和左边距(x 坐标)。如何确保当我使用绝对位置放置 View 时,它们不会相互重叠?我确实在某些地方遇到了重叠的问题,现在唯一的解决办法就是扩大 y 值。
这是我放置 View 的代码:
RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
lp.leftMargin = x;
lp.topMargin = y;
然后,一旦我创建了 View ,我就把它放在布局中的正确位置:
if(field.getType().equalsIgnoreCase("label"))
{
CSLabel label = (CSLabel) field;
TextView tv = new TextView(this);
tv.setText(Html.fromHtml(label.getText()));
rscroll.addView(tv, lp);
}
这是有时会发生的情况的图片:
本例中的 TextView 和单选组是重叠的。有什么方法可以以编程方式修复重叠吗?谢谢。
最佳答案
限制单选按钮位于 TextView 下方,或限制 TextView 位于单选按钮上方。
使用布局参数的addRule(int, int)方法和RelativeLayout.BELOW或RelativeLayout.ABOVE。
关于java - 如何确保 View 在放置在相对布局中时不会重叠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35321690/