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); 
    } 

如何以編程方式設置高度和寬度?我曾試過以編程方式設置Imageview高度和寬度

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 – 2015-02-11 12:21:07

回答

1

您需要創建一個新的LayoutParams對象併爲其設置高度和寬度,然後將其傳遞給iv.setLayoutParams()方法。

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

這也沒有工作LinearLayout.LayoutParams LP =新的LinearLayout.LayoutParams(新的LayoutParams(120,80)); iv.setLayoutParams(lp); – Tufan 2015-02-11 12:12:15

+0

我已經應用這種方法,但它也不起作用 – Tufan 2015-02-11 12:14:43

+0

我看到你正在將ImageView添加到表格行,所以請嘗試用TableRow.LayoutParams替換LinearLayout.LayoutParams。子參數應該遵循父類型。 – Androidz 2015-02-11 12:15:22

相關問題