2010-07-12 65 views
0

它为什么不起作用? “第一”重叠“第二”。怎么了?Android RelativeLayout

protected View onCreateDialogView() { 
       RelativeLayout layout = new RelativeLayout(mContext); 
       RelativeLayout.LayoutParams mParams = new RelativeLayout.LayoutParams (LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); 

       mFirstText = new TextView(mContext); 
       mSecondText.setId(1); 

       mSecondText = new TextView(mContext); 
       mSecondText.setId(2); 

       mParams.addRule(RelativeLayout.ALIGN_PARENT_LEFT, mFirstText.getId()); 
       mParams.addRule(RelativeLayout.ALIGN_PARENT_RIGHT, mSecondText.getId()); 

       setText(mFirstText, "First"); 
       setText(mSecondText, "Second"); 

       layout.addView(mFirstText, mParams); 
       layout.addView(mSecondText, mParams); 

       return layout; 
     } 

回答

1

如果你改变了这个:

RelativeLayout.LayoutParams mParams = new 
RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT); 

要这样:

RelativeLayout.LayoutParams mParams = new 
RelativeLayout.LayoutParams (LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT); 

顺便说......你为什么不使用XML布局,而不是从这样做的Java代码?

+0

没有。这只是扩展屏幕上的对话框小部件。 – Scit 2010-07-12 14:29:46

+0

还有一个问题。如果我在xml文件中意识到该如何返回布局(第20行)? – Scit 2010-07-12 17:22:47

+1

使用'LayoutInflater'。您可以在Google上找到很多示例。 – Cristian 2010-07-12 17:31:45