一种布局将另一种布局推离屏幕

时间:2013-08-15 23:02:11

标签: java android layout user-interface

目前我正在开发一个小型的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);

1 个答案:

答案 0 :(得分:1)

您似乎没有将hLayout添加到任何内容中,因此它不会被推离屏幕但从未添加到内容视图中。尝试像

这样的东西
mainLayout.addView(table);
mainLayout.addView(hLayout);
setContentView(mainLayout);

此外,由于宽度为match_parentLinearLayout的横向默认为orientation,因此您需要更改orientation的{​​{1}}垂直或将mainLayout更改为width

你有什么理由以编程方式进行吗?在xml中创建wrap_content通常要容易得多。