如何确保放置在相对布局中时视图不重叠
How to make sure views dont overlap when placed in a Relative Layout
我使用 RelativeLayout
来放置视图,使用 LayoutParams
并设置顶部(y 坐标)和左边距(x 坐标)。如何确保当我使用绝对位置放置视图时 none 彼此重叠?我 运行 解决了某些地方的重叠问题,我现在唯一的解决方法是扩大 y 值。
这是我放置视图的代码:
RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
lp.leftMargin = x;
lp.topMargin = y;
然后,一旦我创建了视图,我就将其放置在布局中的正确位置:
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 和 radiogroup 重叠。有没有办法以编程方式修复重叠?谢谢。
您很可能不想使用 x/y 坐标来设置视图的位置,而是使用 alignTop / alignBottom 布局参数来设置相对于其他视图的位置,这将确保不会重叠即将发生!
另外请考虑使用不同的布局,例如 LinearLayout with Vertical orientation,它在像您这样的简单情况下效率更高。
另外请考虑在 XML 中定义布局而不是 Java 代码。
使用 align_top、layout_below 和相对布局提供的其他属性来对齐您的 views.I 还建议您通过 XML 而不是以编程方式对齐布局。
阅读此内容以获取有关相对布局的更多信息http://developer.android.com/intl/pt-br/reference/android/widget/RelativeLayout.html
要么将单选按钮限制在文本视图下方,要么将文本视图限制在单选按钮上方。
使用布局参数的addRule(int, int)方法和RelativeLayout.BELOW或RelativeLayout.ABOVE.
我使用 RelativeLayout
来放置视图,使用 LayoutParams
并设置顶部(y 坐标)和左边距(x 坐标)。如何确保当我使用绝对位置放置视图时 none 彼此重叠?我 运行 解决了某些地方的重叠问题,我现在唯一的解决方法是扩大 y 值。
这是我放置视图的代码:
RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
lp.leftMargin = x;
lp.topMargin = y;
然后,一旦我创建了视图,我就将其放置在布局中的正确位置:
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 和 radiogroup 重叠。有没有办法以编程方式修复重叠?谢谢。
您很可能不想使用 x/y 坐标来设置视图的位置,而是使用 alignTop / alignBottom 布局参数来设置相对于其他视图的位置,这将确保不会重叠即将发生!
另外请考虑使用不同的布局,例如 LinearLayout with Vertical orientation,它在像您这样的简单情况下效率更高。
另外请考虑在 XML 中定义布局而不是 Java 代码。
使用 align_top、layout_below 和相对布局提供的其他属性来对齐您的 views.I 还建议您通过 XML 而不是以编程方式对齐布局。
阅读此内容以获取有关相对布局的更多信息http://developer.android.com/intl/pt-br/reference/android/widget/RelativeLayout.html
要么将单选按钮限制在文本视图下方,要么将文本视图限制在单选按钮上方。
使用布局参数的addRule(int, int)方法和RelativeLayout.BELOW或RelativeLayout.ABOVE.