我正在尝试动态创建带有按钮的表格布局。我能够通过按钮获得表格布局。我需要在按钮之间填充。我怎样才能以编程方式获得。
我尝试了以下代码bt
private void showCowsTblField()
{
for (int row = 0; row < numberOfRowsInField-1; row++)
{
TableRow tableRow = new TableRow(this);
tableRow.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.FILL_PARENT ));
for (int column = 0; column < numberOfColumnsInField -1; column++)
{
blocks[row][column].setLayoutParams(new LayoutParams(
LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));
blocks[row][column].setPadding(blockPadding, blockPadding, blockPadding, blockPadding);
tableRow.addView(blocks[row][column]);
tableRow.setPadding(blockPadding, blockPadding, blockPadding, blockPadding);
}
tblCows.addView(tableRow,new TableLayout.LayoutParams(
LayoutParams.FILL_PARENT,LayoutParams.FILL_PARENT));
}
}
请让我知道....谢谢。
答案 0 :(得分:4)
我找到了答案,将setmargin用于应用于按钮Set margins in a LinearLayout programmatically
的布局参数LayoutParams layoutParams = new LayoutParams(
LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT);
layoutParams.setMargins(30, 20, 30, 0);
答案 1 :(得分:3)
您已经设置了TableRow边缘的填充,而不是其元素之间的填充。
您可以通过以下方式设置TableRow中每个视图的填充:
for(int i = 0; i < tableRow.getVirtualChildCount(); i++){
tableRow.getVirtualChildAt(i).setPadding(blockPadding, blockPadding, blockPadding, blockPadding);
}
这真的很愚蠢,但这是我现在能想到的最好的。
答案 2 :(得分:0)
其他解决方案可能有效,但到目前为止我发现的最简单,最好的解决方案是在需要间距的位置添加更多“空白”列。如果您正在动态执行按钮,则只需动态地在按钮之间添加文本视图。如果您尝试使用TableLayout,我只是建议这样做。