2012-05-28 83 views
0

PLZ驗證相對佈局的Android相對佈局組件allignment

 RelativeLayout objRLActionBar=new RelativeLayout(this); 
     objRLActionBar.setId(2534); 
     RelativeLayout.LayoutParams objRLActionBarParams=new RelativeLayout.LayoutParams(LayoutParams.FILL_PARENT,(int) (screenHeight*layoutHeights[1])); 
     objRLActionBarParams.addRule(RelativeLayout.BELOW,objRLTitleBar.getId()); 
     objRLActionBar.setBackgroundColor(Color.parseColor("#2e4862")); 

     ImageView objIVActivityIcon = new ImageView(this); 
     objRLActionBar.setId(25324); 
     RelativeLayout.LayoutParams objIVActivityIconParams=new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT); 
     objIVActivityIconParams.addRule(RelativeLayout.ALIGN_PARENT_LEFT,objRLActionBar.getId()); 
     objIVActivityIcon.setLayoutParams(objIVActivityIconParams); 
     objIVActivityIcon.setImageResource(R.drawable.home_def); 
     objIVActivityIcon.setPadding(2, 0, 2, 0); 
     objRLActionBar.addView(objIVActivityIcon); 

     ImageView objIVSeperator = new ImageView(this); 
     objIVSeperator.setId(25342); 
     RelativeLayout.LayoutParams objIVSeperatorParams=new RelativeLayout.LayoutParams(1,LayoutParams.FILL_PARENT); 
     objIVSeperatorParams.addRule(RelativeLayout.RIGHT_OF,objIVActivityIcon.getId()); 
     objIVSeperator.setLayoutParams(objIVSeperatorParams); 
     objIVSeperator.setImageResource(R.drawable.separator); 
     objIVSeperator.setBackgroundColor(Color.parseColor("#1f3449")); 
     objRLActionBar.addView(objIVSeperator); 

     TextView objTVPageName = new TextView(this); 
     RelativeLayout.LayoutParams objTVPageNameParams=new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT); 
     objTVPageNameParams.addRule(RelativeLayout.RIGHT_OF,objIVSeperator.getId()); 
     objTVPageName.setLayoutParams(objTVPageNameParams); 
     objTVPageName.setTextColor(Color.WHITE); 
     objTVPageName.setTextSize(TypedValue.COMPLEX_UNIT_PX,18+sizeAdjust); 
     objTVPageName.setText("House Details"); 
     objTVPageName.setTypeface(null, Typeface.BOLD); 
     objTVPageName.setPadding(2, 0, 2, 0); 
     objRLActionBar.addView(objTVPageName); 

     objRLBody.addView(objRLActionBar,objRLActionBarParams); 

下方並且被如下所示 enter image description here

圖像與文本和「分隔符圖像」重疊的輸出至上!我需要這個組件的順序objIVActivityIcon,objIVSeperator,objTVPageName。什麼是錯的,上面的代碼plz幫助...

+0

你爲什麼不使用XML來描述你的佈局? – hovanessyan

+0

獲得更多的靈活性,代碼可用性,減少線數,性能,更好的調試更多,我討厭xml –

+1

有關Android UI /佈局的文章聲稱使用XML在性能方面更好。您仍然可以使用XML通貨膨脹來獲得代碼重用,並且我懷疑您會使用比使用XML更少的代碼。大多數開發人員都在使用XML - 所以您製作的代碼將難以維護並得到其他人的支持。不過,每個人都有權不遵循共同的指導方針。 – hovanessyan

回答

1
objRLActionBar.setId(25324); 

應該

objIVActivityIcon.setId(25324);