Thanks that's awesome. I knew I was doing something wrong
Quick question whay are you using FrameLayout for the Table?

Thanks Greg



On Feb 16, 7:57 pm, Romain Guy <romain...@google.com> wrote:
> 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
-~----------~----~----~----~------~----~------~--~---

Reply via email to