如果我向View
添加两个RelativeLayout
,则较新的View
与旧的RelativeLayout rela = (RelativeLayout) findViewById(...);
rela.addView(v1);
rela.addView(v2);
重叠。但由于某些原因,我无法首先添加我想放在底部的v1
。谁能告诉我如何解决这个问题?
v2
我希望Layout
OVERLAP {{1}}。我不能使用其他{{1}},因为这是大型项目的一部分。
答案 0 :(得分:1)
因为我没有得到正确的答案。我必须重写整个程序。这就是我做的:
我先添加v2
,然后添加v1
。然后,我将v1
的可见性设置为View.Gone
。我不知道是否有更好的方法来解决这个问题。
答案 1 :(得分:0)
如果你想在其他视图上添加视图......那么你可以使用FrameLayout ......在RelativeLayout中...... 希望这会对你有所帮助......
答案 2 :(得分:0)
如果要在其他视图的底部添加视图。您可以使用LinearLayout(垂直方向)。但是如果你想将视图添加到RelativeLayout的底部。试试这个:
首先,如果你想引用它,你的RelativeLayout需要一个ID:
RelativeLayout rLayout = (RelativeLayout)findViewById(R.id.yourRelativeId);
然后为对象创建一些LayoutParams(在这种情况下,你的admob adview),告诉它将自己对齐到底部(并且不与任何其他视图对齐,这样它不会被推离屏幕或移动到其他观点):
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);
答案 3 :(得分:0)
您可以将Rule
添加到RelativeLayout
。比如说:
p.addRule(RelativeLayout.ALIGN_BOTTOM, existingView.getId());
上述规则会将新视图与现有视图下方的视图对齐。 您可以阅读有关此here
的更多信息