&lt;TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical" &gt;

    &lt;TableRow
        android:id="@+id/tableRow1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" &gt;

        &lt;TextView
            android:id="@+id/NameText"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:background="@color/DarkRed"
            android:text="@string/NameLabel"
            android:gravity="center"
            android:layout_marginRight="5dp"
            android:textSize="20sp" /&gt;        

        &lt;TextView
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:background="#1DA43F"
            android:text="@string/NameLabel"
            android:gravity="center"
            android:textColor="@color/black"
            android:layout_marginLeft="5dp"
            android:textSize="20sp" /&gt;

    &lt;/TableRow&gt;

&lt;/TableLayout&gt;


android tableLayout column color issue
I think it might be easier to explain by showing some code and explaining as I go along:

Create Product ViewModel:

[UIHint("Prices")]
public IList&lt;CreatePricesViewModel&gt; Prices { get; set; }


With this, I want the ability to use an ajax call to add another set of prices for a different currency to the product.

Create Prices ViewModel:

[DataType(DataType.Currency)]
[DisplayName("Wholesale Price: ")]
public decimal Wholesale { get; set; }

[DataType(DataType.Currency)]
[Required]
[DisplayName("Retail Price: ")]
public decimal Retail { get; set; }

[DataType(DataType.Currency)]
[DisplayName("Discounted Price: ")]
public decimal Discount { get; set; }


In my controller I create a single CreatePricesViewModel and add it to the CreateProductViewModels list of CreatePricesViewModel's so there is at least one available instance to render in the view.

Create Product View:

@model CumbriaMD.Infrastructure.ViewModels.ProductViewModels.CreateProductViewModel 
......
&lt;div class="editor-field"&gt;
    @Html.EditorFor(model =&gt; model.Prices)
    @Html.ValidationMessageFor(model =&gt; model.Prices)
&lt;/div&gt;


Prices EditorFor Templates:

This is where I'm struggling really. When I strongly-type to the CreatePricesViewModel I get a complaint because I'm passing in an IEnumerable of type CreatePricesViewModel instead of a single instance - but when I use a foreach loop my id and names are messed up so the model-binding fails? Can using @inherits here help?

@model CumbriaMD.Infrastructure.ViewModels.PriceViewModels.CreatePricesViewModel

&lt;div class="editor-label"&gt;
   @Html.LabelFor(model =&gt; model.Wholesale)
&lt;/div&gt;
&lt;div class="editor-field"&gt;
   @Html.EditorFor(model =&gt; model.Wholesale)
   @Html.ValidationMessageFor(model =&gt; model.Wholesale)
&lt;/div&gt;
&lt;div class="editor-label"&gt;
   @Html.LabelFor(model =&gt; model.Retail)
&lt;/div&gt;
&lt;div class="editor-field"&gt;
  @Html.EditorFor(model =&gt; model.Retail)
  @Html.ValidationMessageFor(model =&gt; model.Retail)
&lt;/div&gt;
&lt;div class="editor-label"&gt;
  @Html.LabelFor(model =&gt; model.Discount)
&lt;/div&gt;   
&lt;div class="editor-field"&gt;
  @Html.EditorFor(model =&gt; model.Discount)
  @Html.ValidationMessageFor(model =&gt; model.Discount)
&lt;/div&gt;  

