gpt4 book ai didi

java - 为什么使用 setLayoutParams 时 FrameLayout 不显示?

转载 作者:行者123 更新时间:2023-12-01 18:48:31 27 4
gpt4 key购买 nike

我正在尝试使用 FrameLayout 将一个 View 放在表格中另一个 View 的上方(每行 2 个框架布局),但我需要向其添加一些参数(边距、宽度和高度)。问题是向其中添加参数会阻止其显示。例如,我只在其中放入 1 个 View ,但这只是因为我试图简化它,以便我可以发布它。

使用示例中的代码时,它不会显示 FrameLayout,但如果删除 frameLayout.setLayoutParams(frameParams); 行,我无法选择它的大小和边距大小

TableRow row = new TableRow(this);
row.setLayoutParams(new TableRow.LayoutParams(TableRow.LayoutParams.MATCH_PARENT, TableRow.LayoutParams.MATCH_PARENT));
FrameLayout frameLayout = new FrameLayout(this);
Button button = new Button(this);
button.setWidth(LinearLayout.LayoutParams.MATCH_PARENT);
button.setHeight(LinearLayout.LayoutParams.MATCH_PARENT);
button.setText("Button2");
FrameLayout.LayoutParams frameParams = new FrameLayout.LayoutParams(200,100);
frameParams.setMargins(5,5,5,5);
frameLayout.setLayoutParams(frameParams);
frameLayout.addView(button);
row.addView(frameLayout);
tableLayout.addView(row);

我该如何解决这个问题,或者是否应该使用不同类型的布局/容器来代替 FrameLayout?

最佳答案

framelayout 位于 TabbleRow 内部,因此您应该使用

TabbleRow.LayoutParams frameParams = new TabbleRow.LayoutParams(200,100);

关于java - 为什么使用 setLayoutParams 时 FrameLayout 不显示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59773632/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com