2014-11-20 2 views
0

Im пытается создать две таблицы макетов через активность .. У меня уже есть таблица, но как настроить активность? я знаю, чтобы сделать это с помощью XML, но вы хотите сделать это программно ..Android, как создать две таблицы в Activity?

Пожалуйста, помогите

+0

посетите [ввести описание ссылки здесь] [1] http://stackoverflow.com/a/7915805/3354313 [1]: HTTP://stackoverflow.com/a/7915805/3354313 – Akhil

ответ

1

Проверить это answer и another example here

Так же, как в XML, вы будете создавать TableLayout, обеспечивают Params и добавить строк с собственным пользовательским интерфейсом.

+0

Также как добавить границы таблицы? – freshMan

+0

Эй, братан, попробуй поиграть в Google, вы легко найдете ответы на это: http://stackoverflow.com/a/7379990/609782 – Darpan

+0

Да, брата, получилось: p..drawables xml сделал работу с границами – freshMan

1

Возьмите один линейный макет (или относительный макет) в своем xml, чтобы получить его ссылкой findViewById() в методе onCreate() вашей деятельности. После этого динамически создайте таблицу и добавьте ее в линейный макет. Я создаю метод для этого. экс-

LinearLayout linear= (LinearLayout) findViewById(R.id.linear); 
    //call method to add the tablelayout. 
    linear.addView(createtable(3,5)); 


private TableLayout createtable(int requiredcolumn, int requiredrow) { 
    TableLayout.LayoutParams tableParams = new TableLayout.LayoutParams(
      TableLayout.LayoutParams.MATCH_PARENT, 
      TableLayout.LayoutParams.WRAP_CONTENT, 1f); 

    TableLayout.LayoutParams rowParams = new TableLayout.LayoutParams(
      LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT, 1f); 
    //for border 
    rowParams.setMargins(2, 2, 2, 2); 
    TableRow.LayoutParams itemParams = new TableRow.LayoutParams(
      LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT, 1f); 

    TableLayout tableLayout = new TableLayout(MainActivity.this); 
    tableLayout.setLayoutParams(tableParams); 
    tableLayout.setBackgroundColor(Color.WHITE); 

    for (int row = 0; row < requiredrow; row++) { 
     TableRow tableRow = new TableRow(MainActivity.this); 
     tableRow.setLayoutParams(rowParams); 

     for (int column = 0; column < requiredcolumn; column++) { 
      Random color = new Random(); 
      int randomColor = Color.argb(255, color.nextInt(256), 
        color.nextInt(256), color.nextInt(256)); 

      TextView textView = new TextView(MainActivity.this); 
      textView.setLayoutParams(itemParams); 
      textView.setBackgroundColor(randomColor); 

      tableRow.addView(textView); 
     } 

     tableLayout.addView(tableRow); 
    } 

    return tableLayout; 
} 
+1

для настройки границы вы должны играть с setMargins (x, x, x, x) –

Смежные вопросы