2013-09-21 51 views
0

伙计们我的亲友布局出了问题。为什么这个按钮与RelativeLayout中的另一个没有正确对齐?

基本上它不会对齐一个接一个的按钮。

我有两个钢琴键,我使用Java代码将它们在relativeLayout中彼此相邻对齐。

下面的代码

wk[0] = new Button(this); 
wk[1] = new Button(this); 
wk[0].setId(0); 
wk[1].setId(1); 
wkParams[0] = new RelativeLayout.LayoutParams(wkw,wkh); 
wkParams[1] = new RelativeLayout.LayoutParams(wkw,wkh); 

wkParams[0].addRule(RelativeLayout.ALIGN_PARENT_BOTTOM); 
wkParams[1].addRule(RelativeLayout.ALIGN_PARENT_BOTTOM); 
wkParams[1].addRule(RIGHT_OF,wk[0].getId()); 

relativeLayout.addView(wk[0],wkParams[0]); 
relativeLayout.addView(wk[1],wkParams[1]); 

我想两个按钮是彼此相邻。不幸的是,我所得到的是wk [0]上的wk [0],而我无法看到wk [0]。

谢谢你的时间家伙。

+1

布局PARAMS是相同的线性布局 – Metalhead1247

+0

感谢回答,你可以进一步解释? –

+0

我懂了!感谢您的回复。它帮助我找到答案。问题出在ID中,如果我将ID设置为0并稍后再使用,它​​会给我带来麻烦,因为0用于addRule方法中的其他内容。 –

回答

0

你的布局参数是相同的两个相对布局!

试试这个

wkParams[0] = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, 
       RelativeLayout.LayoutParams.WRAP_CONTENT); 
wkParams[1] = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, 
       RelativeLayout.LayoutParams.WRAP_CONTENT); 

  wkParams[0] = new RelativeLayout.LayoutParams(200, 
       RelativeLayout.LayoutParams.WRAP_CONTENT); 
      wkParams[1] = new RelativeLayout.LayoutParams(250, 
       RelativeLayout.LayoutParams.WRAP_CONTENT); 
相关问题