目前我正在开发一个小型的 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);
最佳答案
您似乎没有将 hLayout
添加到任何内容,因此它不会被推离屏幕,但从未添加到内容 View 中。尝试类似的事情
mainLayout.addView(table);
mainLayout.addView(hLayout);
setContentView(mainLayout);
此外,由于宽度为 match_parent
且 LinearLayout
的默认 orientation
为水平,因此您需要更改 将
更改为垂直,或将mainLayout
的orientationwidth
更改为wrap_content
。
您以编程方式执行此操作有什么原因吗?在 xml 中创建布局
通常要容易得多。
关于java - 一种布局将另一种布局推离屏幕,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18263317/