0

我正在尝试创建类似于 Android WordSearch 应用程序的东西,它在网格中显示一系列字母。我最初使用 GridView,但不能同时水平和垂直滚动。因此切换到表格布局。现在我想如下所示:

在此处输入图像描述

现在,当我使用 TableLayout 时,它会将单个垂直中的整个数据作为一行读取。 在此处输入图像描述

我想知道我们是否可以遍历单个 TableRow 和单个 TextView 并创建前一个视图:以下是我的代码

         int index = 0;
                    TableLayout tableLayout = new TableLayout(getApplicationContext());
                    tableLayout.setColumnStretchable(2, true);
                    TableRow tableRow;
                    TextView textView;
                    for (int i = 0; i < 50; i++)  // this reads 50 chars from text file
                    {
                            tableRow = new TableRow(getApplicationContext());

                            for (int j = 0; j < 35; j++) //this creates 35 repetitions of above tablerow
                            {

                                    textView = new TextView(getApplicationContext());
                                    textView.setText(split3(numbers)[i]);
                                    textView.setTextSize(19);
                                    textView.setPadding(1, 2, 0, 2);
                                    textView.setTypeface(null, Typeface.BOLD);
                                    tableRow.addView(textView);
                                    index = index + 1;
                            }
                            tableLayout.addView(tableRow);
                    }

                    scrollView = new HScroll(GridActivity.this);
                    scrollView.addView(tableLayout);
                    VSC = new VScroll(GridActivity.this);
                    VSC.addView(scrollView);
                    setContentView(VSC);
            }
4

1 回答 1

0

我终于设法自己解决了

        TextView textView = new TextView(getApplicationContext());
        tableRow = new TableRow(getApplicationContext());

        for (int i = 0; i < Math.round(numbers.length()/50); i++) // number of vertical rows
        { 
            tableRow = new TableRow(getApplicationContext()); 

            for (int j = 0; j < 45; j++) // no of max characters in a column  
            { 

                textView = new TextView(getApplicationContext()); 
                textView.setText(split3(numbers)[index]); 

                if (index == 13 || index == 15 || index == 17|| index == 19)
                {
                    textView.setTextColor(Color.RED);
                }
                else
                {
                    textView.setTextColor(Color.BLACK);
                }
                textView.setTextSize(21); 
                textView.setPadding(1, 1, 1, 1); 
                textView.setTypeface(null, Typeface.BOLD); 
                tableRow.addView(textView); 
                index = index+1; 
            } 

            tableLayout.addView(tableRow); 
        }

得到了我想要的。 在此处输入图像描述

于 2013-08-23T11:39:42.073 回答