Your code is *NOT* equivalent to the XML. You are using the wrong LayoutParams everywhere. A widget must have the LayoutParams of its *parent*. Therefore, the rows must have TableLayout.LayoutParams, the TextViews must have TableRow.LayoutParams and the TableLayout must have FrameLayout.LayoutParams.
Here is your code, corrected, and it works just fine. package com.test; import android.app.Activity; import android.graphics.Color; import android.os.Bundle; import android.view.View; import android.widget.FrameLayout; import android.widget.TableLayout; import android.widget.TableRow; import android.widget.TextView; public class Test extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(buildTableViewFromSource()); } private View buildTableViewFromSource() { FrameLayout.LayoutParams pTable = new FrameLayout.LayoutParams( TableRow.LayoutParams.FILL_PARENT, TableRow.LayoutParams.FILL_PARENT); TableLayout table = new TableLayout(this); table.setBackgroundColor(Color.RED); table.setLayoutParams(pTable); TableRow rowTop = new TableRow(this); TableLayout.LayoutParams pRowTop = new TableLayout.LayoutParams( TableLayout.LayoutParams.FILL_PARENT, TableLayout.LayoutParams.WRAP_CONTENT); pRowTop.weight = 1; rowTop.setBackgroundColor(Color.BLUE); TextView txt = new TextView(this); txt.setText("Top Content"); rowTop.addView(txt, new TableRow.LayoutParams( TableRow.LayoutParams.FILL_PARENT, TableRow.LayoutParams.WRAP_CONTENT)); TableRow rowBottom = new TableRow(this); rowBottom.setBackgroundColor(Color.GREEN); TextView txtBottom = new TextView(this); txtBottom.setText("Bottom Content"); TableLayout.LayoutParams pRowBottom = new TableLayout.LayoutParams( TableLayout.LayoutParams.WRAP_CONTENT, TableLayout.LayoutParams.WRAP_CONTENT); rowBottom.addView(txtBottom, new TableRow.LayoutParams( TableRow.LayoutParams.FILL_PARENT, TableRow.LayoutParams.WRAP_CONTENT)); table.addView(rowTop, pRowTop); table.addView(rowBottom, pRowBottom); return table; } } -- Romain Guy Android framework engineer romain...@android.com Note: please don't send private questions to me, as I don't have time to provide private support. All such questions should be posted on public forums, where I and others can see and answer them --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers-unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en -~----------~----~----~----~------~----~------~--~---