Проблема отображения динамических строк в макете таблицы: Android - PullRequest
2 голосов
/ 12 июля 2011

Я хочу показать данные в макете таблицы.Количество данных является динамическим, поэтому мне нужно реализовать динамические строки в таблице.Для этой цели я хочу показать 4 TextView в одной строке.

Проблема

В настоящее время я могу отображать данные в таблице ис четырьмя TextView, но я хочу несколько пробелов между всеми четырьмя EditText, но не могу это сделать.

Вот мой код

for(ItemRow row : this.getRows()) {

                if(row != null) {
                    // delcare a new row
                    newRow = new TableRow(this);
                    newRow.setLayoutParams(new LayoutParams(
                            LayoutParams.FILL_PARENT,
                            LayoutParams.WRAP_CONTENT));
                    newRow.setPadding(0, 2, 0, 2);

                    column1 = new TextView(this);
                    column2 = new TextView(this);
                    column3 = new TextView(this);
                    column4 = new TextView(this);

                    column1.setTextColor(Color.BLACK);
                    column2.setTextColor(Color.BLACK);
                    column3.setTextColor(Color.BLACK);
                    column4.setTextColor(Color.BLACK);
                    column1.setSingleLine(false);
                    column2.setSingleLine(false);
                    column3.setSingleLine(false);
                    column4.setSingleLine(false);

                    if(row.getColumnOne() != null){
                        column1.setText(row.getColumnOne());
                    } 

                    if(row.getColumnTwo() != null) {
                        column2.setText(row.getColumnTwo());
                    }

                    if(row.getColumnThree() != null) {
                        column3.setText(row.getColumnThree());
                    }

                    if(row.getColumnFour() != null) {
                        column4.setText(row.getColumnFour());
                    }

                    //Now add a row 
                    newRow.addView(column1);
                    newRow.addView(column2);
                    newRow.addView(column3);
                    newRow.addView(column4);
                    //Add row to table
                    table.addView(newRow, new TableLayout.LayoutParams(
                            LayoutParams.FILL_PARENT,
                            LayoutParams.WRAP_CONTENT));
                }
            }

А вот мой вывод:

enter image description here

Нужно

Мне нужны пробелы между столбцами.Как я могу это сделать?

Ответы [ 2 ]

5 голосов
/ 12 июля 2011

Установить отступ в 5dp для каждого виджета textveiw, например android:paddingLeft="5dp"

2 голосов
/ 12 июля 2011

Вы также должны добавить paddind для столбцов:

column1.setPadding(5, 5, 5, 5);    
column2.setPadding(5, 5, 5, 5);    
column3.setPadding(5, 5, 5, 5);    
column4.setPadding(5, 5, 5, 5);

Изменения: Затем вы можете установить layoutparams следующим образом:

column1.setLayoutParams(new LinearLayout.LayoutParams(60,90));
...