java - 如何确保 View 在放置在相对布局中时不会重叠

标签 java android android-relativelayout overlapping

我使用 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);
}

这是有时会发生的情况的图片:

enter image description here

本例中的 TextView 和单选组是重叠的。有什么方法可以以编程方式修复重叠吗?谢谢。

最佳答案

限制单选按钮位于 TextView 下方,或限制 TextView 位于单选按钮上方。

使用布局参数的addRule(int, int)方法和RelativeLayout.BELOW或RelativeLayout.ABOVE。

http://developer.android.com/reference/android/widget/RelativeLayout.LayoutParams.html#addRule(int,int)

关于java - 如何确保 View 在放置在相对布局中时不会重叠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35321690/

相关文章:

java - class.getResourceAsStream() 始终返回 null

自定义 fragment (NPE)内的Android Maps V2 MapView

android - VideoView 播放的 Activity LifeCycle 问题

java - 如何从android中的自定义 ListView 中选择具有id的 TextView ?

java - 相对布局不覆盖屏幕的宽度

java - 如何缩短我的两个方法?

java - 如何在 JSP 页面中设置一个具有我自己值的字段?

从服务器下载文件的java代码

android - 单击菜单按钮时 java.lang.RuntimeException : Expecting menu, 出现relativelayout错误

java - 与 RelativeLayout 底部对齐的按钮被截断