1
for (int i = 0; i < rows; i++) { 
      TableRow row =new TableRow(this); 
      View v = new ImageView(getBaseContext()); 
      TextView tv_main =new TextView(this); 
      ImageView iv = new imageView(this);        
      tv_main.setText("Test");     
      iv.setImageDrawable(v.getResources().getDrawable(R.drawable.home_icon)); 
      row.addView(iv); 
      row.addView(tv_main); 
      table_layout.addView(row); 
    } 

Как установить высоту и ширину программно? Я пробовалSet Imageview Height and Width Programmatically

iv.getLayoutParams().height=80; 
iv.getLayoutParams().width=100; 

но изображение не отображается.

+0

попробовать http://stackoverflow.com/questions/4665853/how-to-populate-the-tablelayout-with-imageview-dynamically-in-android-jdk –

ответ

1

Вам необходимо создать новый объект LayoutParams и установить для него высоту и ширину, а затем передать их методу iv.setLayoutParams().

TableRow.LayoutParams layoutParams = new TableRow.LayoutParams(100, 80); 
iv.setLayoutParams(layoutParams); 
+0

Это тоже не работает LinearLayout.LayoutParams Л.П. = новый LinearLayout.LayoutParams (новые LayoutParams (120, 80)); iv.setLayoutParams (lp); – Tufan

+0

Я уже применил этот метод, но он также не работает – Tufan

+0

Я вижу, что вы добавляете ImageView в строку таблицы, поэтому, пожалуйста, попробуйте заменить LinearLayout.LayoutParams с TableRow.LayoutParams. Детские параметры должны следовать за родительским типом. – Androidz

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