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