目前我正在开发一个小型的android项目。我遇到了布局问题,因为我必须用Java创建用户界面。我有2个布局首先是具有水平方向的LinearLayout,另一个是TableLayout。我为它们设置了宽度MATCH PARENT和高度WRAP CONTENT,但第一个将屏幕上的另一个推出,我希望第一个布局将另一个推到他下面。
代码如下所示:
LinearLayout mainLayout = new LinearLayout(this);
LinearLayout hLayout = new LinearLayout(this);
hLayout.setOrientation(LinearLayout.HORIZONTAL);
LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT,
LayoutParams.WRAP_CONTENT);
hLayout.setLayoutParams(params);
mainLayout.addView(hLayout);
TableLayout table = new TableLayout(this);
params = new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT);
table.setLayoutParams(params);
mainLayout.addView(table);
setContentView(mainLayout);
答案 0 :(得分:1)
您似乎没有将hLayout
添加到任何内容中,因此它不会被推离屏幕但从未添加到内容视图中。尝试像
mainLayout.addView(table);
mainLayout.addView(hLayout);
setContentView(mainLayout);
此外,由于宽度为match_parent
而LinearLayout
的横向默认为orientation
,因此您需要更改orientation
的{{1}}垂直或将mainLayout
更改为width
。
你有什么理由以编程方式进行吗?在xml中创建wrap_content
通常要容易得多。