如果我在 中添加两个View
,RelativeLayout
则新的会与旧的重叠。但是由于某些原因,我不能View
先添加我想放在底部的那个。谁能告诉我如何解决这个问题?
RelativeLayout rela = (RelativeLayout) findViewById(...);
rela.addView(v1);
rela.addView(v2);
我v1
想重叠 v2
。我不能使用其他Layout
,因为这是一个大型项目的一部分。
如果我在 中添加两个View
,RelativeLayout
则新的会与旧的重叠。但是由于某些原因,我不能View
先添加我想放在底部的那个。谁能告诉我如何解决这个问题?
RelativeLayout rela = (RelativeLayout) findViewById(...);
rela.addView(v1);
rela.addView(v2);
我v1
想重叠 v2
。我不能使用其他Layout
,因为这是一个大型项目的一部分。
因为我没有得到正确的答案。我必须重写整个程序。这就是我所做的:我v2
先添加,然后v1
. 然后我只是将可见性设置为v1
to View.Gone
。我不知道是否有更好的方法来解决这个问题。
如果您想在其他视图上添加视图....那么您可以使用 FrameLayout....在 RelativeLayout...内...希望这对您有所帮助...
如果要在其他视图的底部添加视图。您可以使用 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);
您可以添加Rule
到您的RelativeLayout
. 比如说:
p.addRule(RelativeLayout.ALIGN_BOTTOM, existingView.getId());
上述规则将在现有视图下方对齐新视图。您可以在此处阅读有关此内容的更多信息