Java 为什么在使用setLayoutParams时不显示FrameLayout?
我试图使用FrameLayout将一个视图置于表中另一个视图的上方(每行2个框架布局),但我需要向其中添加一些参数(边距、宽度和高度)。问题是,向其中添加参数会阻止它显示。 例如,我只在其中放了一个视图,但这只是因为我试图简化它,以便发布它 使用示例中的代码时,它不会显示FrameLayout,但如果我删除Java 为什么在使用setLayoutParams时不显示FrameLayout?,java,android,Java,Android,我试图使用FrameLayout将一个视图置于表中另一个视图的上方(每行2个框架布局),但我需要向其中添加一些参数(边距、宽度和高度)。问题是,向其中添加参数会阻止它显示。 例如,我只在其中放了一个视图,但这只是因为我试图简化它,以便发布它 使用示例中的代码时,它不会显示FrameLayout,但如果我删除FrameLayout.setLayoutParams(frameParams)行,我无法选择它的大小和边距大小 TableRow row = new TableRow(this);
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);
它不会更改按钮和页边距的大小(即使我使用了setMargins),您也应该使用Framelayout.LayouParams为按钮设置布局参数