我在这个问题上纠缠了好几个小时,不知道怎么通过。
我已经通过编程创建了一个表(没问题),但这是我遇到的问题。当我创建行时,我想创建两个独立的列。正如您将在我的示例中看到的,我在同一行上有两个不同的textview('type'和'number')。从目前的情况来看,他们都被移到了左边。
我想要的是把它们分成两列,在每列的中心等分。
下面是我要完成的相关代码。
TableLayout serviceLineLayout = new TableLayout(getContext());
serviceLineLayout.setLayoutParams(new TableLayout.LayoutParams(TableLayout.LayoutParams.MATCH_PARENT, TableLayout.LayoutParams.MATCH_PARENT));
TableRow firstTableRow = getFirstTableRow(getContext());
serviceLineLayout.addView(firstTableRow);
private TableRow getFirstTableRow(Context context) {
TableRow tableRow = new TableRow(context);
tableRow.setLayoutParams(new TableRow.LayoutParams(TableRow.LayoutParams.MATCH_PARENT, TableRow.LayoutParams.MATCH_PARENT));
TextView typeHeader = new TextView(context);
typeHeader.setId(0);
typeHeader.setText("Type");
typeHeader.setTextSize(20);
tableRow.addView(typeHeader);
TextView numberHeader = new TextView(context);
numberHeader.setId(0);
numberHeader.setText("Number");
numberHeader.setTextSize(20);
numberHeader.setGravity(Gravity.RIGHT);
tableRow.addView(numberHeader);
return tableRow;
}
1条答案
按热度按时间5cnsuln71#
对于这个用xml定义的tablelayout,下面是相应java文件(activity/fragment)中的动态代码。
tableview的活动逻辑
注意:从资源文件中引用了许多值,您可以忽略/复制这些值。