0

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

1 回答 1

1

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

mainLayout.addView(table);
mainLayout.addView(hLayout);
setContentView(mainLayout);

此外,由于宽度默认为水平match_parent,因此您需要将 的 更改为垂直或将 更改为。LinearLayoutorientationorientationmainLayoutwidthwrap_content

您是否有理由以编程方式进行操作?在 xml 中创建 layouts 通常要容易得多。

于 2013-08-15T23:05:32.083 回答