RelativeLayout对齐/定位不起作用

时间:2014-09-07 09:11:11

标签: android relativelayout

我已经浏览了一下,但未能找到解决此问题的方法。是的,这是之前被问过的事情,但我发现的解决方案都没有解决我的问题。
所以基本上,我的问题是我需要两个视图来对齐他们的容器的右边,一个在另一个旁边。但是我不能阻止它们重叠。

RelativeLayout.LayoutParams param = new RelativeLayout.LayoutParams((int) (screenWidth*0.30), LayoutParams.WRAP_CONTENT);
param.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);
newSpinner.setLayoutParams(param);
newSpinner.setId(-101);

param = new RelativeLayout.LayoutParams((int) (screenWidth*0.10), LayoutParams.WRAP_CONTENT);
param.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);
param.addRule(RelativeLayout.LEFT_OF, newSpinner.getId());
newButton.setLayoutParams(param);

以上代码导致: http://i.imgur.com/o1GlZLV.png

param.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);

删除上述结果时会产生以下结果:http://i.imgur.com/25vlmrw.png

那么修复是什么?

2 个答案:

答案 0 :(得分:0)

您正在为微调器和按钮使用相同的对象'param'。 首先尝试使用param1和param2。 其次尝试使用

param.addRule(RelativeLayout.ALIGN_PARENT_LEFT);表示一个项目 param.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);让对方避免重叠。

也尝试这个解决方案。使用param.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);创建相对布局,然后在此相对布局中添加微调器和按钮,对一个项目使用ALIGN_PARENT_RIGHT,为另一个项目使用LEFT_OF。还要确保使用适当的项目宽度,以便它们不会重叠

答案 1 :(得分:0)

删除: param.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);

来自newButton。