committedandroider committedandroider - 2 months ago 7
Android Question

Why is each element in the table row still taking the same amount of space

Here is what I am getting when I run my application on my device enter image description here

The part that I have problems with is the rows - with text, quote, and web. I dynamically inserted those rows into the scroll view at runtime. Here is my xml code that I used for layout inflating

<?xml version="1.0" encoding="utf-8"?>
<TableRow xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/transparent" >

<TextView
android:id="@+id/stockView"
android:text="TextView"
android:layout_weight="2" />

<Button
android:id="@+id/stockQuote"
style="?android:attr/buttonStyleSmall"
android:text="@string/get_stock_quote"
android:layout_weight="1" />

<Button
android:id="@+id/webStock"
style="?android:attr/buttonStyleSmall"
android:text="@string/go_to_website"
android:layout_weight="1" />

</TableRow>


My question is with this code, why is each element still taking the same amount of space. I know that because I specified the text view's layout_weight to 2, it should take up half of the width with each button taking 1/4 of the total width. I know this isn't bc of weight sum as weight sum by default is 4 in this case. Does anyone know how i can get the text view to take up 1/2 of its parent's width?

Answer

Check this it works..

<?xml version="1.0" encoding="utf-8"?>
<TableRow xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/transparent" >

<TextView
    android:id="@+id/stockView"
    android:layout_width="0dip"
    android:text="TextView"
    android:layout_weight="2" />

<Button
    android:id="@+id/stockQuote"
    android:layout_width="0dip"
    style="?android:attr/buttonStyleSmall"
    android:text="get_stock_quote"
    android:layout_weight="1" />

<Button
    android:id="@+id/webStock"
    android:layout_width="0dip"
    style="?android:attr/buttonStyleSmall"
    android:text="go_to_website"
    android:layout_weight="1"  />