Android 布局-匹配父元素隐藏元素

Android 布局-匹配父元素隐藏元素,android,layout,textview,Android,Layout,Textview,我正在为分类显示的国家列表准备布局。我无法格式化布局。我希望类别标题更大的标题为100%宽度,到目前为止,它们是包装的。内容格式为蓝色,用于测试目的: 我使用了以下代码: TableLayout table = new TableLayout(this); table.setPadding(24, 14, 24, 24); table.setStretchAllColumns(true); table.setShrinkAllColumns(true); // ... TableRow

我正在为分类显示的国家列表准备布局。我无法格式化布局。我希望类别标题更大的标题为100%宽度,到目前为止,它们是包装的。内容格式为蓝色,用于测试目的:

我使用了以下代码:

TableLayout table = new TableLayout(this);
table.setPadding(24, 14, 24, 24);
table.setStretchAllColumns(true);  
table.setShrinkAllColumns(true);

// ...

TableRow titleRow = new TableRow(this);
titleRow.setGravity(Gravity.CENTER_HORIZONTAL);
titleRow.setPadding(0, 18, 0, 8);
titleRow.setBackgroundColor(Color.BLUE);

TextView title = new TextView(this);
title.setText("TEST TITLE");  //title.setText(currentContinent); 
title.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 18);
title.setGravity(Gravity.CENTER);
title.setBackgroundColor(Color.DKGRAY);
title.setPadding(0, 6, 0, 8);

titleRow.addView(title);
table.addView(titleRow, new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT));
我更改了代码的最后一部分,使TextView填充父表行:

titleRow.addView(title, new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT));
table.addView(titleRow, new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT));
但是我的文本视图消失了


什么会导致问题?

我相信您有充分的理由不为此使用XML布局,这将使您的生活中的代码填充量大大减少,并消除一些潜在的bug

您是否尝试过为父视图使用适当LayoutParams子类的实例?添加到TableLayout的每个视图都应使用TableLayout.LayoutParams的实例。同样,TableRow需要TableRow.LayoutParams的实例

如果这不能解决问题,我建议用XML而不是代码构建布局