动态设置表格布局

时间:2014-06-21 16:41:15

标签: java android android-tablelayout

我正在尝试在活动中动态设置表格布局。行数和列数取决于用户的输入。

所以问题 - 每次行数都很好但每行中的列数(textViews)总是等于数组no_periods[ ]的最小值。例如。如果no_days的值为5,则no_periods[]具有2,3,4,5,6个值。该表将有5行,但每行只有2个textViews,而不是相应行中的2,3,4,5,6个textView。

以下是我正在尝试的代码

        //loop to set the rows and text view in the table layout of activity_home  
    for (int i = 0; i < no_days; i++) {

    tableRow = new TableRow(TimeTable.this);

    for (int j = 0; j <no_periods[i]; j++) {

       textView = new TextView(TimeTable.this);
               textView.setHint("Click");
               textView.setClickable(true);
               textView.setOnClickListener(click_listen);

               int maxpixels = screenWidth/(no_periods[i]);
               int minpixels = maxpixels; 

               textView.setPadding(10, 10, 10, 10);

               textView.setMaxWidth(maxpixels);
               textView.setMinWidth(minpixels);

               tableRow.addView(textView);

           }
           tableLayout.addView(tableRow);

       }

1 个答案:

答案 0 :(得分:1)

使用TableRow weight

,而不是设置max和minWidth
textView.setPadding(10, 10, 10, 10);

tableRow.addView(textView, new TableRow.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT, 1));

这将在每行的TextView中分配水平空间。

PS。您可能也想使用textView.setGravity(Gravity.CENTER);

相关问题