2013-09-21 88 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); 
相關問題