0

如果我在 中添加两个ViewRelativeLayout则新的会与旧的重叠。但是由于某些原因,我不能View先添加我想放在底部的那个。谁能告诉我如何解决这个问题?

RelativeLayout rela = (RelativeLayout) findViewById(...);
rela.addView(v1);
rela.addView(v2);

v1重叠 v2。我不能使用其他Layout,因为这是一个大型项目的一部分。

4

4 回答 4

1

因为我没有得到正确的答案。我必须重写整个程序。这就是我所做的:我v2先添加,然后v1. 然后我只是将可见性设置为v1to View.Gone。我不知道是否有更好的方法来解决这个问题。

于 2013-11-11T07:46:09.087 回答
0

如果您想在其他视图上添加视图....那么您可以使用 FrameLayout....在 RelativeLayout...内...希望这对您有所帮助...

于 2013-11-11T06:58:27.077 回答
0

如果要在其他视图的底部添加视图。您可以使用 LinearLayout(垂直)。但是如果你想在 RelativeLayout 的底部添加视图。尝试这个:

首先,如果你想引用它,你的 RelativeLayout 需要一个 ID:

RelativeLayout rLayout = (RelativeLayout)findViewById(R.id.yourRelativeId);

然后为对象(在本例中为您的 admob adview)创建一些 LayoutParams,告诉它将自身与底部对齐(并且不与任何其他视图对齐,这样它就不会被推到屏幕外或被其他视图移动):

RelativeLayout.LayoutParams rLParams = new RelativeLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT);
rLParams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM, 1);

接下来,使用 LayoutParams 将视图添加到 RelativeLayout:

rLayout.addView(yourAdView, rLParams);
于 2013-11-11T07:01:23.423 回答
0

您可以添加Rule到您的RelativeLayout. 比如说:

   p.addRule(RelativeLayout.ALIGN_BOTTOM, existingView.getId());

上述规则将在现有视图下方对齐新视图。您可以在此处阅读有关此内容的更多信息

于 2013-11-11T07:02:27.763 回答